C语言strcpy()函数的问题?

来源:百度知道 编辑:UC知道 时间:2024/05/26 01:55:04
下列程序的运行结果是___D_。(知识点7.3)
#include <string.h>
main()
{ char *p1,*p2,ch[20]=“ABCDEFabcdef”;
p1=“1234”;p2=“abcd”;
strcpy(ch+1,p2+1);strcpy(ch+3,p1+3);
pintf(“%s\n”,ch);}
A)Abc4EFabcde B)Abc4EF C)AbcdEF D)Abc4
为什么答案是D··

你知道字符串有隐含的结束符'\0'么?

strcpy(ch+1,p2+1);就是把ch改成了"Abcd结束符Fabcdef",实际上这个字符串已经成了Abcd了.
再是strcpy(ch+3,p1+3);把d变成4