在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答案是什么,还有为什么?拜托了!
2025-02-23 23:50:12
推荐回答(2个)
回答1:

选 A,B
有些人会说B是不正确的,不过严格说来它是对的。 虽然对double来说,相等判断用==或!=有点值得商榷,但是绝对是可以这么用的。
C 取模只支持整数 a* y 是double 了
D 赋值的运算优先级是很低的,x+y的结果是右值,所以把x的值赋给它肯定是不允许的

回答2:

B 选项A中如果x和y的值相等那么取余时就会有除数为0的情况。