在C中,有以下定义: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
答案是什么,还有为什么?拜托了!

选 A,B
有些人会说B是不正确的,不过严格说来它是对的。 虽然对double来说,相等判断用==或!=有点值得商榷,但是绝对是可以这么用的。
C 取模只支持整数 a* y 是double 了
D 赋值的运算优先级是很低的,x+y的结果是右值,所以把x的值赋给它肯定是不允许的
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-02-11
B 选项A中如果x和y的值相等那么取余时就会有除数为0的情况。