#include<stdio.h> void main() { char *p1,*p2,str[50]="ABCDEFG"; p1="abcd" ;p2="efgh"; strcpy(str+1

#include<stdio.h>
void main()
{ char *p1,*p2,str[50]="ABCDEFG";
p1="abcd" ;p2="efgh";
strcpy(str+1,p2+1);
strcpy(str+3,p1+3);
printf("%s\n",str);
system ("pause");
}
答案是多少?详细解释下,结构题一点都不不会,原因更重要?????????
在线等,devc能执行

这和结构没关系吧
结果是Afgd

str代表str数组首地址,+1表示首地址偏移1个位置,p2+1,p1+3类似
另外注意字符串结尾有个隐含的 '\0'

strcpy(str+1,p2+1);执行完之后,str数组是这样的:A f g h \0 F G \0

strcpy(str+3,p1+3); 执行完之后,str数组是这样的:A f g d \0 F G \0
所以最终输出Afgd
温馨提示:答案为网友推荐,仅供参考
相似回答