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