C语言继续字符串

来源:百度知道 编辑:UC知道 时间:2024/09/21 22:19:32
11. 下面程序段中, for循环的执行次数是 (12) 。
char *s="\ta\018bc";
for( ; * s!=’\0’; s++)printf("* ");
A. 9 B. 5 C. 6 D. 7
怎么解题?答案7

for(; *s!='\0'; s++)
意思是字符串s有几个字符,就循环多少次
'\t'
'a'
'\01'
'8'
'b'
'c'
一共6个字符
printf("*"); 执行6次,输出******
*s!='\0'; 执行了7次

答案应该是 6 吧

答案肯定错了,应该是C
刚才在VC上也实际运行确认了,输出的确是6个*

字符串"\ta\018bc"包含如下字符:
\t:转义为水平制表符
a:字符'a'
\01:转义为八进制的01
8:字符'8'
b:字符'b'
c:字符'c'
共6个

循环执行到串尾符'\0'后,退出循环,所以实际共执行6次

@!#@!2