1樓:兆柏龐長旭
首先,cin
是個c++型別物件,它的類zhidao型是basic_istream,scanf
是個不定引數的函式,
其次,cin
所屬的類過載了
>>運算子,使輸入更簡單了,比如
double
d;cin>>d;
而scanf
不一樣的,
double
d;scanf("%lf",&d);
看起來麻煩一點。
另外,cin
也更安全,不會發生記憶體溢位。
char
c;scanf("%lf",&c);
//這時需要8個位元組的空間,但只提供一個,記憶體溢位。
而cin
也更安全
char
c;cin>>c;
//只輸入字元,不會溢位
從底層上來說,c++
的cin
與c語言的
scanf
都採用stdin
作為內輸入源,
但cin和scanf
採用了不同的緩衝區,可以通過
ios標頭檔案裡面的容
sync_with_stdio
()函式設定緩衝區共享,使cin和scanf共享緩衝區。
c++也可以改變輸入源,但這樣很複雜。
其實,c++對
stdin
進行了封裝,用流和迭代器進行了轉變了流的概念而已,而c的scanf直接操作
stdin而已
2樓:羿絢公良同光
c/c++
語言中cin與scanf區別為百:性質不同、操作效率不同、取資料不同。
一、性質不同
1、cin:cin是標準化輸入,包含在標頭檔案中。
2、scanf:scanf是格式化輸入,包含在標頭檔案中。
二、操作度效率不同
1、cin:cin先把要輸入的東西存入緩衝區,再輸入,導致的輸入操作效率稍低,但書寫簡便。
2、scanf:scanf的是用指標把要輸入的東西輸問入的,輸入效率比較高,但是寫**麻煩。
三、取資料不同
1、cin:cin的取資料時會忽略空答格和回車繼續輸入。
2、scanf:scanf取資料時遇到回車、空格、tab就會停止。
c++ cin和scanf有什麼區別?
3樓:
在c++裡面,cin是輸入流,scanf是標準輸入。
在方便性上,cin優於scanf
示例:int a;
cin>>a;
scanf("%d",&a);
但如果是輸入資料很大的情況下,建議不要用cin,因為它所佔用的時間十分長。
就例如for(int i=1;i<=1000000;i++) cin>>a[i];可能會用掉比scanf多很多倍的時間。
所以,一些單個的輸入可以用cin,但迴圈之類的輸入最好用scanf。
cout、printf與cin、scanf有異曲同工之處
c/c++ 語言中cin與scanf有什麼不同
4樓:教育仁昌
c/c++ 語言中cin與scanf區別為:性質不同、操作效率不同、取資料不同。
一、性質不同
1、cin:cin是標準化輸入,包含在標頭檔案中。
2、scanf:scanf是格式化輸入,包含在標頭檔案中。
二、操作效率不同
1、cin:cin先把要輸入的東西存入緩衝區,再輸入,導致的輸入操作效率稍低,但書寫簡便。
2、scanf:scanf的是用指標把要輸入的東西輸入的,輸入效率比較高,但是寫**麻煩。
三、取資料不同
1、cin:cin的取資料時會忽略空格和回車繼續輸入。
2、scanf:scanf取資料時遇到回車、空格、tab就會停止。
5樓:匿名使用者
首先,cin 是個c++型別物件,它的型別是basic_istream,scanf 是個不定引數的函式,
其次,cin 所屬的類過載了 >> 運算子,使輸入更簡單了,比如
double d; cin>>d;
而 scanf 不一樣的,
double d;scanf("%lf",&d);
看起來麻煩一點。
另外,cin 也更安全,不會發生記憶體溢位。
char c; scanf("%lf",&c); //這時需要8個位元組的空間,但只提供一個,記憶體溢位。
而 cin 也更安全
char c;cin>>c; //只輸入字元,不會溢位
從底層上來說,c++ 的 cin 與 c語言的 scanf 都採用 stdin 作為輸入源, 但cin和scanf 採用了不同的緩衝區,可以通過 ios 標頭檔案裡面的 sync_with_stdio () 函式設定緩衝區共享,使cin和scanf 共享緩衝區。
c++也可以改變輸入源,但這樣很複雜。
其實,c++對 stdin 進行了封裝,用流和迭代器進行了轉變了流的概念而已,而c的scanf直接操作 stdin而已
6樓:
scanf是格式化輸入在c裡用
cin是輸入流 常用於c++
7樓:匿名使用者
c語言裡的輸入輸出是用函式實現的,不是語言本身的事情,
c++是用流進行輸入輸出輸出。
8樓:八條
scanf用在c中,cin用在c++中。
scanf輸出要寫格式,scanf("%d",&a);
cin不用,直接寫,cin>>a;
9樓:數學之星
scanf用在c中,cin用在c++中。
scanf呼叫格式:scanf("[內容]%d",[變數]).
cin呼叫格式:cin>>"[內容]">>[變數]>>endl.
c++中cin和scanf的區別是什麼
10樓:溜達火了沒
在c++裡面,cin是輸入流,scanf是標準輸入。
在方便性上,cin優於scanf
示例:int a;
cin>>a;
scanf("%d",&a);
但如果是輸入資料很大的情況下,建議不要用cin,因為它所佔用的時間十分長。
就例如for(int i=1;i<=1000000;i++) cin>>a[i];可能會用掉比scanf多很多倍的時間。
所以,一些單個的輸入可以用cin,但迴圈之類的輸入最好用scanf。
cout、printf與cin、scanf有異曲同工之處
關於c++,printf跟cout,scanf跟cin有啥區別?是不是等同關係。
11樓:匿名使用者
不是等同的關係。它好比兩個作用相同的函式。printf跟cout,scanf是c裡的函式,標頭檔案是stdio.
h,而cin和cout是c++的函式,標頭檔案是iostream。其實實現的功能基本相同,都是輸入輸出的操作,只要引入不同的標頭檔案就可以使用不同的函式。
12樓:匿名使用者
不等同啊!printf,scanf 是c語言寫法, cout,cin是c++寫法,需要匯入iostream庫。printf,scanf 在輸入輸出時要定義好輸入輸出格式,而cout,cin則是根據變數的型別輸入輸出,不需要指定變數的輸入輸出型別。
13樓:匿名使用者
c++相容了c語言很多東西。
c++:cin,cout
c:printf,scanf
都是標準輸入輸出。
建議:c參考書:c程式設計語言
c++參考書: c++primer 第五版 (注意沒有plus)
14樓:
可以理解為一樣的,只是內部實現方法不同
請問c++裡cin和scanf有什麼實際意義上的區別,不要告訴我用法,也不要告訴我scanf是格式
15樓:校花丶窼頿齔
cin cout被稱作流輸入 流輸出 是一個資料流 而不是一個具體的資料 cin cout 和scan print的關係就好像小溪和小溪中的水滴 print和scan必須指定型別才能輸入和輸出 比如printf(「%d」,a)指定輸出整形且只能輸出整形
c++中的cin和scanf的作用是一樣的嗎 ,能互換把!
16樓:唐博
雖然都是用來輸入的,但是二者是完全不同的兩個東西,原理也不同。
scanf就是一個庫函式,以變數地址為引數進行輸入。
cin是c++中一個istream類物件,不是一個函式,它的功能要比scanf多很多,具體的可以自己看一下c++ istream相關的內容。
17樓:匿名使用者
可以,後者是c裡的,c++一般都前者~
c語言scanf 輸入函式,c語言中的scanf 函式的用法
scanf是c語言中的一個輸入函式,與printf函式一樣,都被宣告在標頭檔案stdio.h裡,因此在使用scanf函式時要加上 include 在有一些實現中,printf函式與scanf函式在使用時可以不使用預編譯命令 include 它是格式輸入函式,即按使用者指定的格式從鍵盤上把資料輸入到指...
c語言中scanf和printf都是輸出函式兩者有什麼區別呢
兩者完全不同,scanf是輸入函 數,printf是輸出函式,所以會經常同時出現。兩者也沒有可比性,需要弄清他們的概念。1.scanf 是c語言中的一個輸入函式。函式 scanf 是從標準輸入流stdio 標準輸入裝置,一般指向鍵盤 中讀內容的通用子程式,可以說明的格式讀入多個字元,並儲存在對應地址...
c語言中與的區別C語言中與的區別
區別 1.運算子性質不同。是一個位運算子。是一個邏輯運算子。2.作用不同。是將兩個二進位制的數逐位相與,結果是相與之後的結果。就是判斷兩個表示式的真假性,只有兩個表示式同時為真才為真,有一個為假則為假,具有短路性質。3.用途限制。除了是一個位運算子,也是取地址符。就是一個單純的邏輯運算子,沒有任何其...