增量和减量运算符

时间:2014-03-13 06:19:56

标签: c operators

这是一个代码

#include<stdio.h>

int main()
{

    int i=5;

    printf("%d%d",++i,++i);
}

我不明白,为什么输出是77?

1 个答案:

答案 0 :(得分:2)

++ii++是具有副作用的表达式。在同一表达式中使用其中两个导致未定义的行为。基本上,任何事情都会发生。

具体来说,我猜测编译器说你要增加i两次,然后使用结果,所以它评估++i两次,得到7,然后将其发送到printf