c语言 如图所示,不清楚A为什么是错的,烦请解释下,不胜感谢!

如题所述

因为4个里选一个,只能选一个最好的。C D 是错的,只能考虑 A,B。
下面讨论 B 和 A:
B , a=x!=y; 有分号,是赋值语句,若无分号,则叫 赋值表达式。
a=x!=y 可以写成 a= ( x != y) 如果 x 不等于 y 为真 “赋值表达式” 得 1,如果 x 不等于 y 为假 “赋值表达式” 得 0。
答案B 的不足之处 是 多了一个分号,成了语句,不是表达式。 但有可能 分号是印刷错误,A,C,D 都无分号,B 本应无分号。
A, a%(int)(x-y) 是表达式,整除取余数运算 % 前后 都是整型 语法上是正确的,但有个问题,假如 x 等于 y 时 ,分母为 0,就会有错 -- 溢出。
如果B 没有分号,答案 肯定选 B。现在 B 有分号,语法上 不叫 表达式,而叫语句。因此 可以考虑选 A。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-04-16
A是对的呀,B是错的。