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