单选题 有以下程序:
#include <stdio.h>
#include <string.h>
main()
{ int i;
char a[]="How are you!";
for(i=0;a[i];i++)
if(a[i]=="")
{ strcpy(a, &a[i+1]);
i=0;
}
printf("%s/n",a);
}
程序的运行结果是______。
【正确答案】 A
【答案解析】[解析] 复制字符串函数strcpy(str1,str2),将str2完整的(包括“/0”)复制到str1中,str1中原有的内容被覆盖。程序执行过程为:在a[i]不等于“/0”的情况下,判断当前元素是否为空格,若为空格将下一个元素以及之后的所有字符复制到a数组中。当i=3时,if条件成立,a以及之后单元中元素为“are you!/0”,i=0,进行下一次循环,之后当i=3时,if条件成立,a以及之后单元中元素为“you!/0”,i=0,之后的元素中在“/0”前没有空格出现,输出you!,故A选项正确。