选 C。自己debug下就OK了。主要是在\01这一个的解读。他解读为八进制的\01了。而不是解读为\0 与1了。 所以总共有 \t ,a,\01,8,b,c这六个字符串。然后再读到字符串末尾不显示的\0时终止,printf也就不打了。
答案是 6。
输出 * 的个数等于字符串的长度。字符串长度为 6,其中 '\t' 代表一个制表符,'\01' 代表 ASCII 码八进制为 01 的字符。由于八进制不能出现>7的数字,所以'\01'算一个字符,而不是'\018'。
选c:
\t是一个字符,它代表tab
\01 是一个字符,它代表asc码是1的字符,也就是SOH
加上其他的a 8 b c 正好是6个字符。
星号个数就是字符串长度,"\ta\018bc"中有以下6个字符,因此选C。
\t
a
\01
8
b
c
C)6