请教几个有关C语言的问题: 1、为什么‘cd’不能做为C语言合法常量?而0.1e+6可以呢?

2、char a='n' ; char a='aa'; char a='\x2d'; 这三个语句在编译时会出现错误的是哪一个?为什么?
3、有下列定义:int a;long b;double x ,y; 则以下正确的表达式是?A、a%(int)(x-y) B、a=x!=y C、(a*y)%b D、y=x+y=x 能给解释其他选择项为什么不可以嘛??

(1) 用单引号括起的是字符常量,'cd' 含2个字符,也不是转义字符,所以不是合法常量。0.1e+6 是合法的 E 格式 浮点数。
(2)char a='aa'; 用单引号括起的是字符常量,'aa' 含2个字符,也不是转义字符,所以不是合法常量。'n' 是合法字符常量, '\x2d' 是合法字符常量, 单引号里是转义字符,\x 打头的是 16 进制数,\x2d 对应 编码为 16 进制 0x2d 的字符。
(3) 正确的是 A. %运算 是 整型除以整型得到的是余数。
其他选择项,B 是语句,可理解为 a = (x != y); x 不等于y 成立则为真,a 得1,不成立为假,a 得0。
C, %运算 是 整型除以整型, 而 a*y 为 double 型,不允许。
D, x+y 不能为 "左值" 。如果是 y=x=x+y; 就是合法语句,但还不是表达式。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-03-14
1.cd是一个字符串,要用""双撇号,字符才用单撇号。2.第二第三应该都错了,字符只占两字节,只能存一个字母,数字或转义字符。3.我就看出D错了,赋值号左边只能是变量,不能是表达式x+y.
第2个回答  2013-03-13
2、char a='aa' 因为aa不是一个字符,不能用单引号,其他两个都是

相关了解……

你可能感兴趣的内容

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