这个输出是啥解释一下
问题描述:
以下程序:int main(void)
{char *p1,*p2,str[50]=”ABCDEFG”;
p1="abcd";p2="efgh";
strcpy(str+1,p2+1); strcpy(str+3,p1+3);
printf("%s",str);
return 0;
}
程序运行后的输出结果是().
答
Afgd,
第一个strcpy是将p2+1也就是p2第二个字符开始(f开始)拷贝到str+1也就是B的位置处,执行完成后是Afgh
第二个strcpy是将p1+3也就是p1第四个字符开始(d开始)拷贝到str+3也就是h处,执行后就是Afgd