c++中scanf和cout有啥区别
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++中scanf和cout有啥区别相关的知识,希望对你有一定的参考价值。
scanf 是接收输入函数,类似于C++中的cin;而cout是输出函数,相当于C中的printf;C++中建议使用cin和cout,因为scanf和printf是C中的;但是如果你习惯要用printf和scanf也是可以的,习惯而已。 参考技术A scanf是C标准库里的,用于从标准输入(一般是控制台)里读取输入并通过格式化字符串解析其中数据;cout是C++标准库里的,用于向标准输出(控制台)输出字符串或数值。本回答被提问者和网友采纳 参考技术B scanf是C语言中的,表示输入,cout是C++中的,表示输出 参考技术C 是和cin吧
可以说没区别,都是输入的语句
区别一般来说就是scanf需要定义输入的类型,如%d%f等
但是cin会自动根据输入来定义
printf(" ")和cout<<两个输出有啥区别?
printf和cout是有本质上的区别:printf是C语言的输出函数,C++兼容C所以也可以在C++中使用;cout是C++专有的输出流ostream对象;虽然他们在输出的时候大多数情况都能达到同样的效果,但是还是有区别的。
我们在学习C++的时候要有面向对象的编程思维,所以在C++编程中建议使用cout对象进行输出。有人说printf效率高,不建议用cout,这么说的话C++都不用学了,C的运行效率不是更高吗?
为什么说在面向对象编程时候要用cout呢,最主要的原因是很多时候我们要输出自定义类型(对象),这时候printf函数就显得非常麻烦。而通过运算符<<重载我们可以非常方便的输出自定义的对象数据。这么做还有一个好处就是它会根据你的数据类型自动调用对应的函数进行输出,更为安全。
同理scanf和cin对象也是这个道理,所以在面向对象的编程尽可能使用cout, cin,如果有明显的优势可以用printf函数,比如输出固定宽度的数值或者字符串我个人觉得printf好用,cout设置宽度的函数名字太长了,也可以考虑自己写一个。 参考技术A printf是C标准库<stdio.h>的函数,是C中的常用方法;
operator<<是C++标准库<iostream>类ostream的成员函数,表示向流内插入信息,cout <<表示向cout流插入信息。
在正常情况下,printf调用的stdout和cout <<调用的cout是相通的。
但是printf使用可变参数,函数内无法确定参数的类型,只能通过控制符确定;
而operator<<则使用函数重载,可以控制输出类型,更加安全。 参考技术B printf输出不同类型的数据时需指定格式字符串,如输出一个字符串用%s,输出一个整数用%d,输出一个字符用%c,输出一个浮点数用%f或%lf,而cout<<可以直接输出各种类型的变量,甚至通过重载<<运算符,可以输出类对象和结构体类型的变量。 参考技术C 没有任何区别,两种不同实现而已,效果差不多 参考技术D 时间和空间问题,最好用print
以上是关于c++中scanf和cout有啥区别的主要内容,如果未能解决你的问题,请参考以下文章