• C语言中printf与i++,C++中的cout


    一,printf与i++

    1,C语言中的printf是自右向左输出,。

    2,而i++与++i不同的

    i++首先取得i的值,下一行时候i = i + 1;

    ++i,首先i = i + 1,再取得i的值。

    比如

    int i=8;
    printf("%d,%d,%d,%d,%d,%d
    ",++i,--i,i++,i--,-i++,-i--);

    输出结果是:8,7,8,8,-8,-8

    在“printf("%d,%d,%d,%d,%d,%d ",++i,--i,i++,i--,-i++,-i--);”语句中,i++的时候i值不变,在下一行时候,才会执行i = i + 1;++i时候i的值加1。

    二,C++中cout

    1,C++中cout是自右向左将数据存入栈,本数据流的数据存入完毕,再输出。

    cout << 3 << 4 <<endl; //首先将4 入栈,再将3入栈,之后根据后进先出原则,先输出3,再输出4;

    2,如果上面3、4是函数,那么先执行函数,把函数结果入栈。

    比如

    #include<iostream>
    using namespace std;
    int fa()
    { 
        cout<<"fa()"<<endl; 
        return 1;
    }
    int fb()
    {
        cout<<"fb()"<<endl; 
        return 2;
    }
    int fc()
    {
        cout<<"fc()"<<endl; 
        return 3;
    }
    int main()
    {
        cout<<fa()<<fb()<<fc()<<endl; 
        return 0;
    }
    View Code

    执行cout时候,先执行fc(),输出fc(),返回3值入栈;

                        再执行fb(),输出fb(),返回2值入栈;

                        再执行fa(),输出fa(),返回1值入栈;

                        最后输出123

    3,如果想先输出fa(),在输出fb(),fc()。需要设置三个输出流,这样有三个栈。

  • 相关阅读:
    创建自定义 AJAX 客户端控件(msdn)
    使用jquery的blockui插件显示弹出层
    Sql Server高手必备
    Js获取当前日期时间及其它操作
    在VS2010中创建自定义的代码段
    存储过程分页
    完美辨析各种高度区别
    程序员必备的正则表达式
    Sql日期格式化
    C#调用Quartz实例代码
  • 原文地址:https://www.cnblogs.com/usa007lhy/p/3336038.html
Copyright © 2020-2023  润新知