zoukankan      html  css  js  c++  java
  • i++与++i的区别

    i++与++i的意思都是i自身加1,不过这个两个语句却有很大的区别。

    ++i,就是直接在i上再加1,这个无需多解释。

    i++会稍微特殊些,他会在下次执行语句,再遇到i时,才会在i身上加1。

    打个比方,来看看这个语句。

    int i = 2;

    i = 7 + i++;

    这两个语句结束后,i的值为9,如果等到下一次有语句再会用到i这个变量的话,i的值就会变成10。假如我们在刚才的语句下面再加一句话的话,就会是这样:

    int i = 2;

    i = 7 + i++;

    int u = i + 5;

    语句执行完毕后,u的值为15,因为在第3句话执行的时候,i的值就从9变成10了。

    所以i++的使用,是一个非常危险的行为,可能会导致难以检查的错误,我们来看下面一个例子:

    int i = 6;
    i++;
    if( i = 6)
    {
      printf("test1\n");
    }
    if (i = 7)
    {
      printf("test2\n");
    }

    输出结果为:

    test1

    tese2

    我们可以看到,在上面这个例子中,两个if语句中的内容,都被执行了,这一点是和人们的惯性思维相悖的,所以从这一点来将的话,我们在编程的过程中,为了保证代码的安全性,应该尽可能的使用++i这样的形式,避免使用i++这样形式的代码

  • 相关阅读:
    协方差与协方差矩阵
    boost.python笔记
    2014年8月3日
    工作记录
    工作记录
    工作记录
    sed教程
    Visual studio C++ 之空控制台工程添加文件并解决头文件包含问题
    Visual studio C++ MFC之列表控件CListCtrl Control
    Visual studio C++ MFC之点击按钮(菜单栏)生成新窗口
  • 原文地址:https://www.cnblogs.com/zhaoX/p/4474621.html
Copyright © 2011-2022 走看看