有以下程序 #include <stdio.h> #include <string.h> main() { int i; char a[]="How are you!"; for (i=0; a[i]; i++) if (a[

admin2021-06-15  25

问题 有以下程序
#include <stdio.h>
#include <string.h>
main()
{  int  i;
   char a[]="How are you!";
   for (i=0; a; i++)
      if (a == ’ ’)
          strcpy(a, &a[i+1]);
   printf("%s\n",a);
}
程序的运行结果是

选项 A、are you!
B、Howareyou!
C、areyou!
D、areyou!

答案A

解析 复制字符串函数strcpy(str1,str2),将str2完整的(包括"\0")复制到str1中,str1中原有的内容被覆盖。程序执行过程为:在a不等于"\0"的情况下,判断当前元素是否为空格,若为空格将下一个元素以及之后的所有字符复制到a数组中。当i=3时,if条件成立,a中元素为"are you!\0",之后的元素中在"\0"前没有空格出现,输出are you!,A选项正确。
转载请注明原文地址:https://kaotiyun.com/show/7Mtp777K
0

最新回复(0)