zoukankan      html  css  js  c++  java
  • 经典i++和++i问题(附带运算符优先级问题)

    转自 https://blog.csdn.net/mustard1020/article/details/79617865

    1.i++和++i的区别

        (1)i++简单来说就是先用i的值来参加表达式的计算,然后再自加1
                    i=4;
                    a=i++;        //此时,先做a=i=4,再做i++,故a=4,i=5
        (2)++i则是先自增1,再用自加后的值来做运算。
                    i=4;
                    a=++i;         //此时,先做++i=5,再做a=++1,故a=5,i=5
    2.运算符的优先级
                   
        *典型例题1 (比较下面两个代码输出结果的不同)
        程序1:
              
        程序2:
              
        *典型例题2(输出程序结果)
             
              该程序分别输出:
              7
              8,8
              (1)首先指针ptr指向数组arr的arr[0]=6
              (2)*(ptr++)+=123,先执行*(ptr)+=123,相加结果为129,再执行自加1,此时*ptr指向arr[1]
              (3)printf此时的指针ptr,即打印arr[1]的值,故为7
              (4)在执行下一句printf时,因为‘()’,‘++’的优先级均高于‘,’所以指针ptr会先自增1,故指向arr[2]=8
  • 相关阅读:
    跳板机操作
    常用进制之间的转换
    vim加脚本注释和文本加密
    LAMP框架
    wiki团队协作软件Confluence
    NFS网络文件系统
    ORACLE-12C-RAC INSTALL
    通过DB_LINK按照分区表抽取数据
    Oracle Rac crs无法启动
    删除undotbs后,数据库无法启动
  • 原文地址:https://www.cnblogs.com/llkbk/p/10148036.html
Copyright © 2011-2022 走看看