首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Printf输出的顺序相反。

问Printf输出的顺序相反。
EN

Stack Overflow用户
提问于 2012-11-28 01:42:13
回答 1查看 2K关注 0票数 1

可能重复: Could anyone explain these undefined behaviors (i = i++ + ++i , i = i++, etc…)

我在GCC里试过这个简单的C程序

代码语言:javascript
复制
#include<stdio.h>
int main(){
int x=5;
printf("%d,%d,%d,%d,%d",++x,x++,x,x++,++x);
return 0;
}

输出是9,7,7,6,6,我跟踪它,并假设它会打印6,6,7,7,9,但我发现我的假设是相反的,怎么会!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-28 01:44:03

因为您的程序有未定义的行为。函数参数的求值之间不存在序列点,并且在不干预序列点的情况下多次对同一个对象进行突变是一种未定义的行为。

这个节目简直是不正确的.它不是一个有效的C程序。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13596418

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档