C语言赋值语句的判断..拜托大家了

以下C语言赋值语句合法的是
A X=Y=58 B j++; C X=58,Y=58 D M=int(X+Y);

ABCD 麻烦能说明理由 谢谢各位了特别是B 是不是 加理由哦
3Q

正确答案: B

A X=Y=58 合法赋值表达式 ,没分号,不是语句

B j++; 相当于j=j+1;(勉强正确,因为++为算术运算符,j++应为算术表达式, j++; 加分号为算术表达式语句)

C X=58,Y=58 合法逗号表达式 ,没分号,不是语句

D M=int(X+Y); 非法形式 M=(int)(x+y)可以
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-03-29
A错 显而易见
B错 j++;不是赋值语句,它是语句。它相当于赋值,但是只是相当于,不是。j++不过是自加的一条普通语句。相信我,我在培训的时候做过这个练习。
C错 显而易见
D对 这就是赋值语句没错了。至于类型转换没有不用管。你在VC里试试就知道了嘛。呵呵。

O了
第2个回答  2009-03-29
X=Y=58 //没分号
B j++; //这个应该算是合理的赋值语句,有分号,j++;相当于j = j+1;
C X=58,Y=58 //没分号
D M=int(X+Y); //完全没有这种用法,要是(int)(x+y),还勉强本回答被提问者采纳
第3个回答  2009-03-29
B.
A X=Y错。表达试右边不能是变量。
B 正确 想当于j=j+1;
C 少了一个;号
D ()里面要是常量。
相似回答