问题 单项选择题

有以下程序 main( ) { char a,b,c,*d; a='\';b='\xbc'; c='\0xab';d="\0127"; cout<<a<<b<<c<<*d<<endl; } 编译时出现错误,以下叙述中正确的是

A.程序中只有a='\';语句不正确

B.b='\xbc';语句不正确

C.d="\0127";语句不正确

D.a='\';和c='\0xab';语句都不正确

答案

参考答案:D

解析: 本题考察C++中各种类型在输出时的转化关系。斜杠为转义控制字符,其后必须紧跟一个字符,故首先可以确定的是a的赋值语句是错误的,根据选项我们直接看c的赋值语句是否正确。斜杠后跟0表示其后为八进制,其值从0到7,因此C的赋值语句也是错误的。据此可以判断本题的正确答案应该为D。

解答题
单项选择题