<span style="font-size:24px;">void main()
{
int i = 0;
char a[30] = "str1";
char b[30] = "str2\0str3";
strcpy(a,b);
for(i = 0;i<30;i++)
{
printf("%c",a[i]);
}
printf("\n%s\n",a);
memcpy(a,b,30);
for(i = 0;i<30;i++)
{
printf("%c",a[i]);
}
printf("\n%s\n",a);
system("pause");
}</span>
当我直接输出printf(“%s”,a)时,我发现,我的a 只有str2.当我是一个字符一个字符输出时,a结果却是str1 str2。这里的结果为什么不一样呢?原来是 %s输出时,它遇到'\0'就结束了的缘故