一、getchar()函數:
- getchar()函數的原型爲 int getchar(void):該函數不帶形參,返回值爲int型,成功時,返回值爲字符的ASCII碼,出錯是爲-1.
- getchar()函數只對字符起作用,在stdio.h中定義,其實是個宏定義函數,是getc(stdin)的宏定義。
- 如果用戶在按回車之前,輸入了多個字符,除第一個字符外其他保留在緩衝區中,等待後續函數調用讀取。
- 後續的getchar()調用不用等待用戶按鍵,而是直接讀取緩衝中的字符,直當緩衝區的字符讀取完,纔等待用戶的按鍵輸入。
#include <stdio.h>
int main(int argc, char const *argv[])
{
int ch;
while((ch=getchar())!=EOF)//按Ctrl+z
{
while(ch='\n') //回車不打印出來,因爲在輸入後需要按回車,使得回車也被存入緩衝區。
{
printf("%d\n",ch );
}
}
return 0;
}
- 函數原型爲:int scanf(char * .....),返回成功讀入的項目個數,如果沒有讀取任何項目,(即當它期望一個數字而您卻鍵入了一個非數字字符串是就會發生這樣的情況),函數返回0。
- 利用返回值可用來檢測和處理不匹配的輸入。
- 在char ch; scanf("%c",&ch);中若開始輸入空格,會自動忽略,若輸入A而非一個數字,A不會被輸入。
while(scanf("%d",&a)!=1)
當輸入不是一個整數時,退出循環。