问题 单项选择题

若已包括头文件<stdio.h>和<string.h>,运行下列程序段时输出结果是( )。
int i=0;
char s1[10]="ABCD",s2[10]="EFG";
strcat(s1,s2);
while(s2[i++]!='\0')
s2[i]=s1[i];
puts(s2);

A.ABC

B.ABCDEF

C.EBCDEFG

D.CBD

答案

参考答案:C

解析: strcat(s1,s2)把s2连接到s1的后面,s1=ABCDEFG,执行while(s2[i++]!='\0')后i的值变为1,往后执行s2[i]=s1[i]时是从把s1的第二位给s2的第二位开始,把s1赋给s2。

选择题
名词解释