關於C輸出函式cout與printf的區別

時間 2021-05-23 03:48:05

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樓:匿名使用者

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的用法,反過來就不行。

3樓:不愛到愛

你說的這個跟cout,printf無關 輸出不同是因為你printf的格式不正確,

應該為printf("%s %c",p,*p)

cout<

c語言輸出結果怎麼分行顯示,C語言 關於輸出資料時的換行問題。

在 中加入換行符就可以實現分行顯示,下面介紹2種的方法 include void main int i,j printf a 0 d n a 0 方法一 加入 n 會輸出換行 printf a 1 d a 1 puts 方法一 直接加puts 即可換行 補充 2中方法各有所長,根據實際情況選用 1,...

c 輸出結果為什麼都是A的函式

這主要是因為引數傳遞的問題。在你呼叫print函式的時候,這時候會拷貝建構函式重新建立一個物件,這個物件是a。所以你呼叫的結果就都是使用了a的printme了。一般來說,使用虛擬函式的時候,傳遞的應該是指標。當然引用也是可以的。這是c 的基礎知識。看來你的基本功還不過關!因為你void print ...

關於c語言函式型別定義問題,關於C語言函式型別定義問題

超級福醬 這個語句主要是用的c語言的等號算符 c語言裡面等號可以看做一個函式,它的返回值是右值。比如int i,j,x i j 5 這條語句除了賦值以外還有返回值,返回值是5所以可以這麼寫 x i j 5 這裡x就等於5了。所以 語句 if x 0 就可以簡寫為 if i j 5 0 另外,c裡面字...