[求助]一个很小的程序~~~出错~
#include<iostream.h> #include<string.h> void main() { struct jiang { char name[10]; }; jiang a[40],b; cin>>a[0].name; cin>>a[1].name; b.name=a[0].name; a[0].name=a[1].name; a[1].name=b.name; }
应该这样改呢????
#include<iostream.h> #include<string.h> void main() { struct jiang { char name[10]; }; jiang a[40],b; cin>>a[0].name; cin>>a[1].name; b.name=a[0].name; a[0].name=a[1].name; a[1].name=b.name; }
应该这样改呢????
还是出错啊~~~~
没什么用啊~~~~
正确的如下~~
#include<iostream.h> #include<string.h>
struct jiang { char name[10]; }; void main() { jiang a[40],b; cin>>a[0].name; cin>>a[1].name; strcpy(b.name,a[0].name); strcpy(a[0].name,a[1].name); strcpy(a[1].name,b.name); cout<<a[0].name<<endl; cout<<a[1].name; }
好象 可以
太谢谢了哦~~~~~~~
很简单的道理,你定义的是字符数组,数组的首地址一旦确定后是不能被改变的.所以b.name=a[0].name会出错. 如定义字符指针的话就可以,不过要注意内存泄露方面的问题.
了解