C 中,cin和gets 的區別

2021-06-21 00:12:04 字數 385 閱讀 4779

下面通過兩個例子說明一下此cin和gets()區別:

#include

using namespace std;

int main()

char str[20];

cin>>str;

cout輸入:abc[空格]abc

輸出:abc

#include

using namespace std;

int main()

char str[20];

gets(str);

cout輸入:abc[空格]abc

輸出:abc[空格]abc

結論:cin不接受空格,tab等鍵的輸入,遇到這些鍵,字串會終止,而gets()則接受連續的輸入,包括空格,tab

gets和scanf的區別。

寫乙個函式,輸入乙個十六進製制數,輸出相應的是進製數。程式設計如下 include include include void main char t 20 c long htoi char doprintf ninput a hex number gets t printf decimal numb...

fgets和gets的區別

在程式設計中發現gets 和fgets 一些區別總結一下 1 fgets比 gets 安全,使用 gets 編譯時會警告 為了安全,gets 少用,因為其沒有指定輸入字元的大小,限制輸入緩衝區得大小,如果輸入的字元大於定義的陣列長度,會發生記憶體越界,堆疊溢位。後果非常怕怕 fgets會指定大小,如...

scanf和gets的區別

gets函式可以一次接收一行輸入串,其中可以有空格,也就是說空格可以做為字串的一部分輸入.而scanf函式接收的字串不會含有空格,即遇到字空格時,認為字串輸入結束,也就是說空格是scanf預設的結束符號。scanf和gets不能混合使用,如果乙個程式中用scanf的話,一般不能再用gets,反之亦然...