35)下面程序段中,输出*的个数是 char *s="尀ta尀018bc"; for(;*s!=✀尀0✀;s++)printf("*"); A)9 B)5 C)6 D)7

2026年09月19日 02:18
有5个网友回答
网友(1):

选 C。自己debug下就OK了。主要是在\01这一个的解读。他解读为八进制的\01了。而不是解读为\0 与1了。 所以总共有 \t ,a,\01,8,b,c这六个字符串。然后再读到字符串末尾不显示的\0时终止,printf也就不打了。

网友(2):

答案是 6。
输出 * 的个数等于字符串的长度。字符串长度为 6,其中 '\t' 代表一个制表符,'\01' 代表 ASCII 码八进制为 01 的字符。由于八进制不能出现>7的数字,所以'\01'算一个字符,而不是'\018'。

网友(3):

选c:
\t是一个字符,它代表tab
\01 是一个字符,它代表asc码是1的字符,也就是SOH
加上其他的a 8 b c 正好是6个字符。

网友(4):

星号个数就是字符串长度,"\ta\018bc"中有以下6个字符,因此选C。
\t
a
\01
8
b
c

网友(5):

C)6