单选题
执行以下程序,其运行结果是______。
#include<stdio.h>
#include<string.h>
int main()
{
char*p1, *p2, str[10]="ABCDEFG";
p1="abcde"; p2="12345";
strcpy(str+1, p1+2);
strcpy(str+3, p2+3);
printf("%s", str);
return 0;
}
【正确答案】
A
【答案解析】[解析] 执行strcpy(str+1, p1+2); 后,str[0]="A"保持不变,而str[1]~str[4]变为p1+2表示的字符串,即str[1]="c",str[2]="d",str[3]="e",str[4]="/0"。执行strcpy(str+3, p2+3); 后,str[0]~str[2]保持不变,而str[3]~str[5]变为p2+3表示的字符串,即str[3]="4",str[4]="5",str[5]="/0"。因此,str的值为"Acd45"。