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
  • 相关阅读:
    一次Access注入
    偏移注入
    DHCP协议
    ARP协议、ARP欺骗
    bWAPP_HTML Injection
    上网行为管理&云计算
    两个文件上传/包含
    SQL报错注入
    如何建立git 远程仓库
    PHP实现异步调用方法研究
  • 原文地址:https://www.cnblogs.com/llkbk/p/10148036.html
Copyright © 2011-2022 走看看