“(a++ , b>a++&&c>d) ? ++d:a<b”得值为什么?
初学是遇到的一个题目,自己写到环境跑了一遍知道结果为0,也能看懂递增比较和三目运算符部分,但是不知道(a++,b>a++&&c>d)是如何和后面的部分进行比较的,或者说不太理解(a++,b>a++&&c>d)算得逻辑步骤,希望有人能给我详细解释下每一步运算的逻辑是什么样的
请问这段代码是如何运算的
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
歌咏^0^ 2021-09-16 15:56关注大兄弟,你这个就复杂了,(a++ , b>a++&&c>d)这个计算结果在不同的编译平台有所区别,不同平台对C语言定义的后加加处理方法有所不同,比如:一种是在这条语句结束时,才返回后加加的结果
另一种是,在一条语句中,同一个变量两次后加加,第二次后加加,就会在前一个后加加的基础上运算,如:
int a = 0;
t = a++ + a++;
t = 0 + 1;
好了,就这样吧本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报