【问题标题】:ambigious behaviour of increment operator in printf [duplicate]printf中增量运算符的模棱两可的行为[重复]
【发布时间】:2012-10-19 13:58:17
【问题描述】:

可能重复:
Undefined Behavior and Sequence Points

程序的输出

#include<stdio.h>
main()
{

 int i = 10;
 printf("%d %d %d\n", ++i, i++, ++i);

}

是 13 11 13。有人可以解释一下吗?

【问题讨论】:

  • 无法解释未定义的行为。

标签: c printf


【解决方案1】:

这是有史以来最古老的问题。为什么人们会觉得这如此迷人?

这是未定义的行为;您在修改之间依赖于没有sequence point 的副作用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-17
    • 1970-01-01
    • 2010-12-10
    • 1970-01-01
    • 2013-11-18
    • 2012-02-16
    • 2014-09-26
    相关资源
    最近更新 更多