如题 (总结要点)
-
假设i=1 ,那么 i=i++ 的结果也就是2, 对吗? 不对,是1.
-总结如下:
-
测试过程如下:
1.java版
public class Test {
public static void main(String[] args) {
int i=1;
i=i++;
System.out.println("i=="+i);
int j=i++;
int k=i+ ++i * i++;
System.out.println("i="+i);
System.out.println("j="+j);
System.out.println("k="+k);
}
}
2. 输出结果
i==1
i=4
j=1
k=11
3.测试C版
#include <bits/stdc++.h>
#define inf 0x3f3f3f3f
#define N 100009
#define minn 1e-8 //山枫叶纷飞
using namespace std;
#define ll long long
int main(){
int i=1;
i=i++;
cout<<i<<endl;
int j=i++;
cout<<"j="<<j<<endl;
cout<<"i="<<i<<endl;
return 0;
}
--输出结果--
1
j=1
i=2
Process returned 0 (0x0) execution time : 0.185 s
Press any key to continue.
综上所述
- 无论是C还是Java , i=i++之后的结果都是原值i.
- 看一张我盗来+灵魂huihua的图: