【发布时间】:2012-11-26 07:20:35
【问题描述】:
可能重复:
Could anyone explain these undefined behaviors (i = i++ + ++i , i = i++, etc…)
下面有一段代码,我在理解代码逻辑方面面临一个非常严重的问题。
#include <stdio.h>
#include <stdlib.h>
int main(void )
{
int i = 1 ;
printf("\n%d %d %d %d\n",++i,i++,i++,++i) ;
return 0 ;
}
我在名为 Mandriva 的 Linux 发行版下使用 gcc 编译器。在上面提到的我在 printf 语句中使用了带有变量的 pre 和 post 增量。 我应该得到的输出是 2 2 3 5,但我得到了不同的输出。 请在这段代码中帮助我。
我觉得这段代码很难。
【问题讨论】:
标签: c