首页 > 编程语言 > 详细

关于 " i=i++"是否等价于"i=i+1"的问题探讨 -Java版/C版

时间:2019-07-16 18:28:36      阅读:78      评论:0      收藏:0      [点我收藏+]

如题 (总结要点)

  • 假设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的图:
  • 技术分享图片

关于 " i=i++"是否等价于"i=i+1"的问题探讨 -Java版/C版

原文:https://www.cnblogs.com/zhazhaacmer/p/11196397.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!