标签: c operators
这是一个代码
#include<stdio.h> int main() { int i=5; printf("%d%d",++i,++i); }
我不明白,为什么输出是77?
答案 0 :(得分:2)
++i和i++是具有副作用的表达式。在同一表达式中使用其中两个导致未定义的行为。基本上,任何事情都会发生。
++i
i++
具体来说,我猜测编译器说你要增加i两次,然后使用结果,所以它评估++i两次,得到7,然后将其发送到printf。
i
7
printf