c语言,求答案和解释,为啥我参考的答案是选C

设有int x=3,y=4;,以下不合法的C语言语句是 ______。
A)x=y==5; B)x=y%2.8; C)x=y=5; D)x+=x+2;

应该不合法的是b吧
x=y==5 ==的优先级高于= 先算后面的,等价于x=(y==5) 是合法的
x=y=5 c语言赋值是从右往左,且赋值的左端只能是一个符号,不能是表达式或常数如x+y=1就不合法
x+=x 等价于x=x+x是合法的
x=y%2.8 2.8是double类型,%右端不能为double类型,是不合法的追问

%的右边是不能为小数吧

追答

不好意思,忽略了这点,多多交流

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-04-30
买到山寨版了吧,b是错的追问

在百度上,我搜索到了同样的试卷和题目,都是选的C,我都有所怀疑了