一个简单的C++赋值语句

来源:百度知道 编辑:UC知道 时间:2024/06/26 00:41:13
请选择哪个一是正确答案,并解析其它选项错在哪:
有定义:char ch;,以下正确的赋值语句是_
A) ch='123'; B) ch='\xff'; c) ch='\08' D) ch='\'

说实话,这个题纯粹是理论和实际脱节的题!!给你两种答案吧
1.如果是考你理论知识,那只有B对
A) ch='123'; 错// 123如果是字符串应该写成“123”而非'123'
B) ch='\xff';正确// 相当于‘\0xff’ 开头的0,可以省略,相当于255或者-1
c) ch='\08';错误,\08貌似8进制,但是八进制只有0~7这八个字符
D) ch='\';错//转移字符,应该写成 '\\'

2.如果是真实情况,那我告诉你只有D错
A) ch='123'; 正确// '123'等效于‘1’
B) ch='\xff';正确// 相当于‘\0xff’ 开头的0,可以省略,相当于255或者-1
c) ch='\08';正确// 等效于 ch = ‘8’也就是ACSII的0x38
D) ch='\';错// 转意字符,应该写成 '\\'

只有d是错误的,其他语法上都是正确的,但a和c的实际结果会出乎意料,编译器可能会给出警告。只有b是完全没有问题的。

ch = '\\'

b

b
c
char ch
不能为字符串
'\'C中这是专义字符