c++和c語言先學哪個好 printf與cout的區(qū)別?
printf與cout的區(qū)別?C中的Printf與C中的cout具有相同的功能,兩者的輸出和寫入格式都不同1。不同格式int a=6 cout<<A<<endl printf(%d=“
printf與cout的區(qū)別?
C中的Printf與C中的cout具有相同的功能,兩者的輸出和寫入格式都不同
1。不同格式int a=6 cout<<A<<endl printf(%d=“”,a=“
2。Printf需要你告訴它格式(int=%D,=“”double=%F,char=“”%C)=“”“cout不需要=“””,另外=“””1。Printf是一個函數(shù)。Cout是一個ostream對象,與<<.=“”2一起使用。Printf是一個可變參數(shù)函數(shù),它沒有類型檢查,也不安全。Cout是通過操作符重載實現(xiàn)的,是安全的。=""
3. 如果printf遇到未知類型,就沒有辦法了,cout可以重載自己來擴展。=有時printf比cout更靈活。=Printf也可以用在C中,但是cout=“”也可以說C與C的用法完全兼容,反之亦然=“”>
你想問的是scanf和CIN的區(qū)別,cout和Printf的區(qū)別??Printf和scanf用C語言編寫,cout和CIN用C語言編寫,需要導入iostream庫。
Printf和scanf需要定義輸入輸出格式,cout和CIN根據變量類型輸入輸出,不需要指定變量的輸入輸出類型。
①Scanf的速度至少是CIN的兩倍
②CIN慢的原因:默認情況下,CIN和stdin總是同步的,也就是說,這兩種方法可以混合使用,而不用擔心文件指針的混亂。同時,cout和stdout是相同的,兩種方法的混合使用不會導致輸出順序的混亂。由于這個兼容性特性,CIN有很多額外的開銷。(解決方案:只需要一條語句STD::IOS::sync和Stdio(false),這樣就可以取消CIN和stdin之間的同步。此時,CIN與scanf幾乎相同)
③編譯時讀取變量的類型由CIN和cout決定。Scanf()是在運行時確定的,編譯器不能優(yōu)化它,它必須識別字符串。理論上,scanf比CIN慢得多。事實上,scanf之所以更快,是因為許多編譯器對CIN的處理過于保守。
④Acmer盡量使用scanf和printf作為輸入輸出函數(shù),但格式不同,不需要輸入變量的輸出格式。例如,有printf(“a=Dn”在int a=3C中,cout>在a)C中的用法,還有CIN>>,它類似于輸入函數(shù)scanf()