关于C++ 输出函数cout 与 printf 的区别

2025-02-01 10:56:49
推荐回答(3个)
回答1:

先回答两者的异同
1.两者都有自己的缓冲区
2.如果用printf,需要#include
如果用cout<<,需要#include ,功能一样;
不过printf更严谨一些,比如它会限制输 出类型。
3. cout慢些,安全措施多些,和其它的STL库的合作性也比较好
功能方面,作为标准IO,二者没什么差别,基本你能做的我也能做,而且难度相近
一个是类函数,一个普通c语言函数。
ps:最好不要混用两者,那时printf函数调用会将输出立刻显示在屏幕上,cout不会立刻显示在屏幕上,cout在输出回车或者显示调用cout.flush();或者其他也些情况才刷新缓冲区

cout<printf("%x", p); 这个是输出p作为指针变量的值,而p保存的是“abcd”这个字符串在内存中的首地址,你定义的%x输出为十六进制。

回答2:

你说的这个跟cout,printf无关 输出不同是因为你printf的格式不正确,
应该为printf("%s %c",p,*p)
cout<

回答3:

c中的printf和c++中的cout完成的功能一样,都是输出,书写格式不一样。区别:
1、格式不同int a=6; cout<2、printf需要你告诉它格式(int %d, double %f,char %c)cout不需要。
3、printf是函数。cout是ostream对象,和<<配合使用。
4、printf是变参函数,没有类型检查,不安全。cout是通过运算符重载实现的,安全。
5、如果printf碰到不认识的类型就没办法了,而cout可以自己重载进行扩展。
6、有时候printf比cout灵活。
c++中能使用printf,但是c中不能使用cout,也可以这么说:c++可以完全兼容c的用法,反过来就不行。