选择题:合法的c语言赋值语句是?

A,a=b=58 b,k=int(a+b); c,a=58,b=58 d,--i;
选择什么啊?可以选b吗?希望可以分析一下,谢谢了!

应该选B

因为赋值语句两个标志:赋值(就是“=”)和语句(加上“;”)

而A和C都是表达式

表达式是类似于赋值语句的,比如“a=1”是表达式

而“a=1;”是赋值语句

而D,上面那位仁兄说的也有道理。但毕竟是选择题,选择最符合出题人

意思的选项,仅仅是个“--i;”,没有等号,所以不选D。

至于C,在谭浩强的书上有讲:用(int)(a+b)和int(a+b)是一致

不信你可以编译一下,本人已经验证过。

PS:
本人1月份刚参加研究生考试,专业课里有C,所以对这些定义比众位

仁兄记得更清晰一些,惭愧惭愧!
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-10-11
A、C、D是合法的赋值语句

B是错误的,因为类型转换不是这么写,应该是这样:
k=(int)(a+b);

D 相当于i=i-1;所以也可以算作赋值操作。本回答被提问者采纳
第2个回答  2008-02-25
上面有人说了一大段,但是不正确
精要的分析下

------------------------------
应该选B

------------------------------
A,a=b=58 //不正确,没分号
b,k=int(a+b); //正确
c,a=58,b=58 //不正确,没分号
d,--i; //不正确,没啥说的
第3个回答  2008-02-25
应该是D。
A.a,b对象不明确,如果都是int,float,double,char,short int当然可以,如果不同则不能赋值。
B.虽然强制转换表达正确,但k对象不明。
C.当b是一个bool型当然也会出现错误!
第4个回答  2012-06-02
答案选D因为合法的赋值语句要有分号A C都没有 所以肯定错误
相似回答