有以下程序  #include <stdio.h>  void main()  {char *s="\ta\018bc";   for(;*s!=’\0’;s++)   printf("*");   printf(”\n”);  }  程序运行后的

admin2022-04-01  29

问题 有以下程序
 #include <stdio.h>
 void main()
 {char *s="\ta\018bc";
   for(;*s!=’\0’;s++)
    printf("*");
   printf(”\n”);
 }
 程序运行后的输出结果是(          )。

选项 A、******
B、*********
C、*****
D、*******

答案A

解析 main()函数定义一个字符指针s,指向字符串“\ta\018bc”。for循环遍历s指向的字符串中的字符,然后输出“*”。根据题意可以理解为:s指向的字符串中有多少个字符,就输出多少个“*”;s指向的字符串中字符分别是:‘\t’(转义字符)、‘a’、‘\01’(转义字符)、‘8’、‘b’、‘c’,总共6个。其中因为8不属于八进制中的数字,所以‘\018’不是一个转义字符,而‘\01’是转义字符,本题答案为A。
转载请注明原文地址:https://kaotiyun.com/show/8Bkp777K
0

最新回复(0)