作业帮 > 综合 > 作业

#include void main() { char *p1,*p2,str[50]="ABCDEFG"; p1="a

来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/04/29 13:08:17
#include void main() { char *p1,*p2,str[50]="ABCDEFG"; p1="abcd" ;p2="efgh"; strcpy(str+1
#include
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能执行
#include void main() { char *p1,*p2,str[50]=
这和结构没关系吧
结果是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