第1个回答 2010-04-22
后面缺少分号来结束这个赋值语句。
a=(7+b,b++,a+7);
其实这个赋值语句相当于先后执行以下语句:
7+b; //这个语句无意义
b++;
a=a+7;
也就是将最后一个a+7的值付给a。
因为连续用逗号分割的若干个表达式的值等于最后一个表达式的值.
第2个回答 2010-04-22
这是一个用逗号表达式赋值的语句,表意不明确。
因为C标准并没有规定逗号表达式的求值顺序,所以可能先计算b++,也可能先计算7+b,所以此语句意义是编译器有关的。
第3个回答 2010-04-22
少个;号 这是个语句 语句必须以;号结束
第4个回答 2010-04-22
他是一个语句,那么就该以分号结束(;)
a=(7+b,b++,a+7);