可能重复:
任何人都可以解释这些未定义的行为(i = i++ + ++i,i = i++ 等......)
未定义的行为和序列点
#include<stdio.h>
int main(){
int i=5,j=5,y,x;
int m=++i;
int n=++i;
x=m+n;
y=++j + ++j ;
printf("%d %d ",x,y);
return 0;
}
输出:13 14 谁能解释一下为什么'y'值是14而不是13。
可能重复:
任何人都可以解释这些未定义的行为(i = i++ + ++i,i = i++ 等......)
未定义的行为和序列点
#include<stdio.h>
int main(){
int i=5,j=5,y,x;
int m=++i;
int n=++i;
x=m+n;
y=++j + ++j ;
printf("%d %d ",x,y);
return 0;
}
输出:13 14 谁能解释一下为什么'y'值是14而不是13。