a=3+5,a*4; 这个语句执行后.a的值是多少?

来源:百度知道 编辑:UC知道 时间:2024/05/22 13:01:38
答案是8....但是我不明白为什么是8...右边不是一个赋值表达式吗?赋值表达式的值不是最后一个的值吗?由于a在定义时,没有初值.这个语句应该是错的啊...可为什么编译时,得到结果8?

逗号的运算优先级是最低的。
所以先进行a=3+5的运算,所以此时的值为8,然后是a*4的运算 值为32,也即整个表达式的值为32,而此时表达式中a的值仍为8。

a=3+5,a*4;
','运算符的优先级低于'='运算符,所以执行顺序为:
1.a=3+5
2.a*4
第1句结果使a=8/*此句一看也就是赋值语句了...*/,第2句没什么实际作用,如此而已!

这是一个逗号语句,由于你,号后边的那个a*4他虽然做了乘法运算但是他没有输出任何值.因此在a*4的时候。a还是第一个运算式中的结果8