最新文章:

首页 1)C语言

cout和printf的区别

发布时间:2017年11月19日 评论数:抢沙发 阅读数:160

    原文链接 点此进入

    今天无意中发现cout和printf是有点区别的,一个是输出语句,一个是输出函数

    我编了个函数如下:

    #include "iostream.h"
    #include "stdio.h"
    main()
    {
     int a;
     for(a=0;a<24;a++)
     {
      printf("++++++++++++\n");
      cout<<"============\n";
            printf("############\n");
     }
        printf("@@@@@@@@@@@\n");
    }

    运行结果如下:

    ++++++++++++

    ++++++++++++

    ############

    ############

    @@@@@@@@@@@

    ============

    ============

    cout先是把输出结果存到缓存区,然后一次性输出,其实COUT输出的时候也是调用了printf函数;

    pintf函数是每次输出结果;

    这就是为了么在TIME程序中cout运行的时间要比printf函数快的原因;

    当时有一点需要注意:cout<<"============\n";和cout<<"============"<<endl;也有不同,\n只是一个字符,而endl会将缓存区的数据全部输出并清零;在TIME程序中,如果采用cout<<"============"<<endl;结构反而会比Printf慢,因为多了一道调用缓存手续

    下面打个很形象的比喻,大家都会明白

    比如有100个鸡蛋,需要从A拿到B点,相当于程序中的输出

    Printf把鸡蛋一次一个用手拿到B点

    cout<<"  \n"先把鸡蛋全部放到篮子,然后一次性拿过去取出

    cout<<" "<<endl先把鸡蛋放到篮子,然后一次一个拿过去再取出

    尤其可见哪个快那个慢显而易见

     

二维码加载中...
本文作者:行者      文章标题: cout和printf的区别
本文地址:http://blog.20a.top/?post=151
版权声明:若无注明,本文皆为“我的小世界”原创,转载请保留文章出处。