问题
单项选择题
有以下程序 main() { char a,b,C,*d;a='\'; b=\\xbc';c='\0xab'; d="\0127";princf("%c%c%c%c\n",a,b,c,*D) ; } 编译时出现错误,以下叙述中正确的是
A.程序中只有a='\';语句不正确
B.b='\xbc';语句不正确
C.d="\0127":语句不正确
D.a='\';和c='\0xab';语句都不正确
答案
参考答案:D
解析: 给字符变量赋值只能赋一个字符,包括转义字符,语句“a='\'”是错误的,因为“\”是转义字符,应该用“\\”来表示,语句“B='\xbc';”是正确的,它是将一个用十六进制表示的转义字符赋给一个字符型变量,故选项B不为所选;语句“c=\0xab;”是正确的,反斜线后的十六进制只可由小写x开头, 不能用Ox。语句“d="\0127";”是正确的,可以给字符型指针变量赋一个字符串,其作用是让该指针变量指向该字符串,故选项C不正确。所以,D选项为所选。