<分区>
代码如下
#include<stdio.h>
int main()
{
int i=5;
printf("%d%d",++i,++i);
}
我不明白,为什么输出是77?
<分区>
代码如下
#include<stdio.h>
int main()
{
int i=5;
printf("%d%d",++i,++i);
}
我不明白,为什么输出是77?
最佳答案
++i
和 i++
是有副作用的表达式。在同一个表达式中使用其中两个会导致未定义的行为。基本上,一切顺利。
具体来说,我猜编译器说你想递增 i
两次然后使用结果,所以它计算 ++i
两次,结果是 7
,然后将其发送到 printf
。
关于c - 自增自减运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22370583/