strcpy函数
char a="abcdef";char b="ABC";
strcpy(a,b);
想知道b是覆盖a中的前四个元素,还是清空a中的元素,再复制到a中。答案显示a为f,但是输出数组a又是ABC。
strcpy(a,b);\\后a[]={A,B,C,'\0',e,f,'\0'};
'\0'是字符串结束标志 此操作把 b 的 4 个字符覆盖到了 a,也就是说,a 中的 "abcd"被 b 覆盖,但是 "ef" 还在,a 被覆盖后,前三个字符自然是 "ABC",a = '\0',a = 'e',a = 'f',其中,'\0'是字符串结束标志,所以,打印 a 的时候,会只显示 "ABC" 而不会显示后面的 "ef"。 来看看答案
页:
[1]