求助关于一题逗号表达式的C语言试题,

问题描述:

求助关于一题逗号表达式的C语言试题,
假设所以变量均为整型,则表达式(a=3,b=6,++a,b++,a+b);的值是多少?
11
疑问一:我个人觉得是10,因为b++是先使用再自加,++a先自加再使用咯?那么就是a+b(a=4,b=6)得出10后,b再自加为7咯?
如果按答案是等于11,那么就是说题中的“++a,b++,”改为“++a,++b,”或者“a++,b++,”答案都是11,没影响?
疑问二:逗号符的优先级不是最低的吗?那怎么能够使表达式从左向右运算呢?
那么就是请大家一步步详细讲解给我听,
请好心的大家,因为我自加没有按C语言程序软件,所以希望最好是帮我在C程序环境下对你运行下看看答案到底是什么?用实践检验真理,
1个回答 分类:综合 2014-10-08

问题解答:

我来补答
我运行了,给你截张图其实按你的理解应该是(a=3,b=6,(++a)+(b++)),这个时候才考虑先加后加的问题,这个时候才是10,但题干先++a,b++,然后再a+b,这是有区别的,要多领会.逗号它的优先级最低,代表  a=3,b=3即(a=3),(b=3),也就是说先进行其他运算,最后再进行逗号运算,而从左到右是规定的,与它的优先级是否低无关.
 
 
展开全文阅读
剩余:2000
上一页:必修3第一单元
下一页:第4课时