进来看下,知道的解答一下,实在是不明白.....
听君一席话,胜读十年书!!!

#include
#include
using namespace std;
string fun1(const string &s1,const string &s2);
const string &fun2(string &s1,const string &s2);
const string & fun3(string &s1,const string &s2);  //错误的设计
int main()
{

system ("color e");

string input;

string copy;

string result;

cout<

getline(cin,input);

copy=input;

cout<

result=fun1(input,"#####");

cout<

cout<

system ("pause");

result=fun2(input,"$$$$$");

cout<

cout<

system ("pause");

input=copy;

result=fun3(input,"*****");

cout<

cout<

system ("pause");

return 0;


}
string fun1(const string &s1,const string &s2)
{

string t;

t=s2+s1+s2;

return t;
}
const string &fun2(string &s1,const string &s2)
{

s1=s2+s1+s2;

return s1;
}
const string &fun3(string &s1,const string &s2)
{

string t;

t=s2+s1+s2;

return t;
}
fun1和fun3中t都是临时变量,为什么调用fun3后程序会崩溃???
这2函数有什么区别啊

12-22 23:41