c語言輸入一行未知個數數字存入陣列

2021-10-09 21:44:04 字數 1026 閱讀 2142

**:

#include#includeint main()

} for (i = 0; i < n; i++)

return 0;

}

c庫函式isdigit():是標頭檔案ctype.h中宣告的乙個函式。原型為:

int isdigit(int c);
作用:

判斷c指定的字元是否為數字字元,即』0』~『9』,如果是,返回1;否則,返回0。

isdigit函式的實現也比較簡單,這樣就可以:

int isdigit(int c)

c語言ungetc()函式:

ungetc是乙個函式

功 能  把乙個字元退回到輸入流中du

用 法  int ungetc(char c, file *stream);

輸入引數  c 要寫入的字元,stream 檔案流指標

輸出引數  字元c - 操作成功,eof - 操作失敗

stdin

stdin是c語言中標準輸入bai流,一般用於獲取鍵盤輸du入到緩衝區裡的zhi東西。

訪問stdin,可用stdio.h中提dao供的以下幾個函式:

scanf、getchar來從stdin流中獲取指定的資料。scanf根據第乙個引數指定的格式符將資料讀入後續引數指定的記憶體位置中;getchar從stdin流中讀取乙個字元並返回。

另外,可以使用一般的訪問輸入流的函式來訪問stdin,比如:fscanf、fgetc,使用方法和scanf、getchar類似,只是多了乙個引數指定檔案流。當然,scanf和getchar的具體實現就是通過呼叫fscanf和fgetc,這樣可以提高**利用率。

最後,可以用fflush和rewind這兩個函式來重新整理stdin,來清空緩衝區中已有的內容,不過這種方法不是標準方法,當stdin被重定向到檔案時,這會導致指標重新指向檔案開頭。

c語言輸入一行未知個數數字存入陣列

一直有個疑問輸入一行數字存入陣列時若不知道數字的個數怎麼辦,最容易想到的辦法就是接收字元然後轉化為數字,但這樣太過麻煩。今天上網查了下,說可以用ungetc 函式將字元送回輸入流,在這裡總結歸納一下 此外還意外的解決了另外一些以前遇到的問題,也是在除錯 時發現的,用此段 可以用除了空格以外的字元作為...

Python 一行輸入多個數,並存入列表

方法一方法二 在python裡,如果你僅使用input 的話是輸入一行的內容並將該行的內容以字串的形式存到變數中,但如果你想要在一行輸入多個數字的話使用int input 就沒法實現。注 使用python2版本時可能會報錯 python中列表元素轉為數字的方法分析 split 是乙個方法,將字串以空...

輸入一行字元,統計其中各種字元個數(C語言)

編譯環境vs2017 其中輸出英文本母,數字,空格以及其他字元的個數 需要注意的是fgets 函式的使用,會在字串末尾 0前 讀入我們在鍵盤上敲的回車即換行符 n include include include define m 1024 void main else if str i 64 str...