已知ch是字符型变量,下面正确的赋值语句是 A.ch='123'; B.ch='\xff'; C.ch='\08'; D.ch=“\”;

不要复制别人的答案。。D选项,就算是单引号在c++上也显示出错,C选项在c++上可以输出的就是8,B选项\x后面的是十六进制ff=255,ASCll码最后一个,电脑上输出的好像是空格。那么B和C都是对的啊?
有大神帮我解惑吗?

ch='123'在编译器上视编译严格性可能会被视为一个警告也可能是一个错误。如果是警告,最终ch的值等于最后一个字符的值即'3'。
ch='\xff'表示ch的值为十六进制的FF。没有说明ch是否是有符号数,所以可能发生溢出,如果溢出视编译器的编译严格性可能发出一个警告,也可能什么都不做。
ch='\08'表示两个字符'\0'和'8',此情况同A选项。
ch="\"错误,不能将字符串字面值赋给一个字符常量。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-03-17
明显是B嘛,\08是错误的,\0开头是八进制数,八进制数怎么能有8呢
第2个回答  2018-03-17
'\08'是两个字符,字符中\后的数字是八进制ascii码值
而八进制中没有8,所以是'\0'和'8'两个字符,和A中的'123'一个问题

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网