关于字符常量和字符串语句定义

来源:百度知道 编辑:UC知道 时间:2024/06/24 14:29:43
以下不合法的字符常量是
A)'\018' B)'\"' C)'\\' D)'\xcc'
以下能正确定义字符串的语句是
A)char str[]={'\064'}; B)char str="\x43"; C)char str="; D)char str[]="\0";
希望能给出详细的解析,谢谢。

以下不合法的字符常量是
A)'\018' B)'\"' C)'\\' D)'\xcc'
选A

原因:
A)'\018'
\018是通过\这个转义字符将018这个以0打头的数转义成一个八进制数,但是八进制数的取值范围是0~7,所以018是不合法的
B)'\"' 合法,通过\这个转义字符转义成字符"
C)'\\' 合法,通过\这个转义字符转义成字符\
D)'\xcc' 合法,通过\这个转义字符将xcc这个以x打头的数转义成一个十六进制数0xcc

以下能正确定义字符串的语句是
A)char str[]={'\064'}; B)char str="\x43"; C)char str="; D)char str[]="\0";
选D

原因:
A)char str[]={'\064'};//错误,字符串需要用""标注
B)char str="\x43";//错误,char str是声明了一个字符变量,不能存放字符串
C)char str="; //错误,字符串需要用""标注
D)char str[]="\0"; //正确,这个字符串实际包含两个字符,一个是'\0',另一个是作为字符串默认的串尾符'\0'