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
  • 相关阅读:
    1004 Counting Leaves
    1003 Emergency (25分)
    1002 A+B for Polynomials (25分)
    1001 A+B Format
    Weekly Contest 139
    491. Increasing Subsequences
    488. Zuma Game
    servlet总结
    firefox插件Firebug的使用教程
    KMP---POJ 3461 Oulipo
  • 原文地址:https://www.cnblogs.com/llkbk/p/10148036.html
Copyright © 2011-2022 走看看