无法解释printf输出

时间:2014-12-09 11:21:36

标签: c

我写了以下简单程序

#include<stdio.h>
int main()  
{  
    int i;  
    i=1;  
    printf("%d %d %d",i,i++,++i);  
    return 0;  
} 

上面的程序给出了3 2 3作为输出,我无法解释输出。我正在使用gcc-4.8.1

1 个答案:

答案 0 :(得分:1)

你这里有未定义的行为!!

当printf()中的同一变量有多个增量时,您无法预测输出。 <{1}}中的执行顺序未定义。