若有定义int a=2,b=2;则表达式(a+(b++),b)的值是 1还是2还是3还是4

2025-02-23 15:21:05
推荐回答(3个)
回答1:

表达式(a+(b++),b)的值是3
逗号表达式的结果是最后一个表达式的值,这道题的最后表达式是b,b的值已完成++运算,所以结果为3

回答2:

逗号表达式的结果以最后一个表达式为准:
例如 a=(3,4)=4;
所以题目(a+b++,b)从左往右看,b++,表示先用b,后吧b+不1,那么
等价于(2+2,3),结果就是取后面的3啦

回答3:

这个也和编译器有关,要看b++是怎么解释的,反正可以肯定的是这个式子的值跟b相等。在我的环境下测试为3,也就是计算完第一个表达式后b自增1