不对
以下是引用老糊涂在2007-6-1 13:50:58的发言:
a[10]={'H','O','L','L','A','N','D'}
copy后
a[10]={'C','H','I','N','A','\n','D'}
copy 后不应是:a[10]={'C','H','I','N','A','\n','D'};
我想应该是 a[10]={'C','H','I','N','A','\0','D'};因为strcpy()这个函数是把全部字符串 连同字符串后面的'\0'一起copy 进去的
你们看看我下面两个程序有什么不同嘛:
1.
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(void)
{
char a[10]="HOLLAND";
char b[]="CHINA";
strcpy(a,b);
printf("%s",&a[6]);//这个地方是 %s
system("pause");
return 0;
}
2.
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(void)
{
char a[10]="HOLLAND";
char b[]="CHINA";
strcpy(a,b);
printf("%c",&a[6]);//这个地方是%c
system("pause");
return 0;
}
[此贴子已经被作者于2007-6-1 15:28:40编辑过]