scanf和cin的差异
Posted 神犇(shenben)
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scanf和cin的差异相关的知识,希望对你有一定的参考价值。
scanf和cin的差异
引例:http://www.cnblogs.com/shenben/p/5516996.html
大家都知道,在C++中有两种输入、输出方式—scanf和cin,但是,它们之间存在的差异,你们知道么?下面请看测评吧!
测试题目:
输入n个数,输出n个数。
测试环境:
ubuntu12.04 i3CPU 4G内存 7200转硬盘
ubuntu12.04 i3CPU 4G内存 7200转硬盘
测试结果:
测试结果使用linux的time测试时间,结果如下:
10000组数据时:
real代表程序执行总时间,user代表用户输入数据的时间,sys代表系统时间
从上面的测试结果中,貌似没有发现scanf的厉害之处甚至好像还慢些(数据存在波动性),那我们接着往下看:
100000组数据时:
这时scanf已经开始崭露头角了,不过差异还不是很大,咱们接着往下看!
1000000组数据时:
这时候大家可以发现,cin所用的时间是scanf的两倍还多!!
后面就不继续往下测的,对这个感兴趣或者想自己验证的童鞋可以继续。。。。不过据说scanf的输入速度是cin的3倍多!!
测试总结:
从以上测试结果,大家可以发现scanf和cin的巨大差异了吧!那么,这个东西最主要在哪应用呢?不用说都能想到,当然是ACM平台啦!那些算法没问题时间超限的童鞋,你们说不定就是因为用了cin导致的呢!
以上是关于scanf和cin的差异的主要内容,如果未能解决你的问题,请参考以下文章