A. t++;
本质是是给t赋了上个加1的新值,所以它是合法的赋值语句
B. n1=(n2=(n3=0));
这也是一个赋值语句,先把0赋给n3,再把表达式n3=0的值赋给n2(C和C++中表达式是有值的,很久很以前,好像C语言也叫表达式语言,只是后来大家都淡忘了,以至于都没有这个概念了,等号表达式值为等号左边的值,同理的还有++、--语句,++i和i++中变量i的值都加了1,相同,但表达……
[/Quote]
[Quote=引用楼主 的回复:]
这是一个选择题,我也不知道他有没定义,选项如下,问哪个是不合法的赋值语句?
A. t++;
B. n1=(n2=(n3=0));
C.k=i==j;
D.a=b,c=1
[/Quote]
A 表示在此语句之后,t= t+1; 应该是合法赋值语句
B 先把0赋给n3,再把n3的值(0)赋给n2,最后再把n2的值(0)赋给n1,应该是合法赋值语句
C i == j 为真,把1赋给k,否则把0赋给k, 应该也是合法赋值语句
D 没有分号 不是合法赋值语句