我觉得这样子做的话··输出的答案应该会是 s1变成bstring1 s2变成astring2才对, 可是调试的时候,发现那句话错了··请问是为什么?导致它们之间不能互相赋值?
代码如下:
include<iostream>
using namespace std;
void exchange(char *a,char *b)
{
char c;
c = *a;
*a = *b; //为什么这句话会错
*b = c;
}
int main()
{
char *s1 = "atring 1";
char *s2 = "btring 2";
exchange(s1,s2);
cout << s1 << endl;
cout << s2 << endl;
return 0;
}