“(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;
好了,就这样吧本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥20 有关区间dp的问题求解
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置
- ¥15 有没有研究水声通信方面的帮我改俩matlab代码
- ¥15 对于相关问题的求解与代码
- ¥15 ubuntu子系统密码忘记
- ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
- ¥15 保护模式-系统加载-段寄存器
- ¥15 电脑桌面设定一个区域禁止鼠标操作
- ¥15 求NPF226060磁芯的详细资料