这是一个程序
#include<stdio.h>
int main()
{
int i=2;
printf("I=%d i=%d\n",++i,++i);
}
我得到的输出是
4 4
这对我来说有点令人惊讶。
那个++我是如何工作的?为什么在结果中提供4 4
而不是3 4
?
只需阅读它,它与您将其标记为重复的主题不同。
答案 0 :(得分:2)
未定义的行为。您不应该更改变量的值并在同一sequence point中多次读取。
答案 1 :(得分:-1)
您的程序与以下内容没有什么不同,因为++ i导致i在该行之前递增。
#include<stdio.h>
int main()
{
int i=2;
i++, i++;
printf("I=%d i=%d\n",i,i);
}