zoukankan      html  css  js  c++  java
  • 关于cout计算顺序,从右到左计算顺序。

     1 #include <iostream>
    2 using namespace std;
    3
    4 int main()
    5 {
    6 const int a[] = {10,20,30};
    7 const int *p = a;
    8 cout<<"*p:"<<*p<<endl;
    9 cout<<"*p:"<<*p<<"\t*p++:"<<*p++<<"\t*p"<<*p<<endl;
    10 return 0;
    11 }
    12
    13 /*输出为:
    14 *p:10
    15 *p:20 *p++:10 *p:10
        */

    从上边的例子中可以看出来cout的计算顺序是从右向左 ,首先解引用*p 得到第一个元素10,然后在第二个输出语句中从右向左,首先解引用得到10,然后计算*p++,关于*p++ 的计算可以参考:比如i = 3; cout<<i++<<endl;同样输出3,因为首先输出i,然后才改变i的值。输出时,首先输出*p 也是10,但是这个式子计算后*p就变成了第二个元素了20,即第一个*p是20,后边的输出为10.

  • 相关阅读:
    gems gems gems
    poj 6206 Apple
    lightoj1341唯一分解定理
    lightoj1370欧拉函数
    约瑟夫环lightoj1179
    拓展欧几里得算法
    RMQ算法
    poj1502MPI Maelstrom
    poj1860Currency Exchange
    生成全排列
  • 原文地址:https://www.cnblogs.com/newpanderking/p/2416465.html
Copyright © 2011-2022 走看看