getchar用法

  • 作者:由 匿名使用者 發表于 曲藝
  • 2021-11-22

getchar用法 匿名使用者 1級 2012-12-11 回答

三種用法:

1、從緩衝區讀走一個字元,相當於清除緩衝區

2、前面的scanf()在讀取輸入時會在緩衝區中留下一個字元‘\n’(輸入完s[i]的值後按回車鍵所致),所以如果不在此加一個getchar()把這個回車符取走的話,gets()就不會等待從鍵盤鍵入字元,而是會直接取走這個“無用的”回車符,從而導致讀取有誤

3、getchar()是在輸入緩衝區順序讀入一個字元(包括空格、回車和Tab)

錯在getchar() 是從鍵盤讀取一個字元放入緩衝區,然後在取出來,你在輸入某個數或者字元後敲回車其實緩衝區也接受了你的回車了。

可以這麼修改:

char ch;

int key;

printf(“please input key”);

scanf(“%d”,&key);

fflush(stdin);

printf(“please input ming wen\n”);

ch=getchar();

fflush(stdin);

while(ch!=‘\n’)

{

putchar(ch+key);

printf(“\n”);

ch=getchar();

fflush(stdin);

}

加上fflush(stdin);來清空緩衝區

想要程式結束,直接敲回車就可以了。

搜狗問問

擴充套件資料:

使用getchar函式還應注意幾個問題:

1、getchar函式只能接受單個字元,輸入數字也按字元處理。輸入多於一個字元時,只接收第一個字元。

2、使用本函式前必須包含檔案“stdio。h”。

3、在TC螢幕下執行含本函式程式時,將退出TC 螢幕進入使用者螢幕等待使用者輸入。輸入完畢再返回TC螢幕。

void main(){

char a,b,c;

printf(“input character a,b,c\n”);

scanf(“%c %c %c”,&a,&b,&c);

printf(“%d,%d,%d\n%c,%c,%c\n”,a,b,c,a-32,b-32,c-32);

}

輸入三個小寫字母

輸出其ASCII碼和對應的大寫字母。

void main(){

int a;

long b;

float f;

double d;

char c;

printf(“%d,%d,%d,%d,%d”,sizeof(a),sizeof(b),sizeof(f)

,sizeof(d),sizeof(c));

輸出各種資料型別的位元組長度。

getchar用法 匿名使用者 1級 2012-12-11 回答

1、如圖所示,輸入如下命令,定義字元。

搜狗問問

2、使用getchar函式獲得輸入字元。

a=getchar();

b=getchar();

c=getchar();

搜狗問問

3、使用putchar函式將變數輸出。

putchar(a);

putchar(b);

putchar(c);

putchar(‘\n’);

return 0;

搜狗問問

4、點選編譯按鈕,對程式進行編譯。

搜狗問問

5、提示無錯誤時,進行程式執行。

搜狗問問

6、彈出的介面輸入字元。

搜狗問問

7、執行介面如下。完成效果圖。

搜狗問問

getchar用法 水筆仔 1級 2017-10-10 回答

啊~!!明白了~ 不好意思 上面那個說法沒錯 但是我忘了getchar()的特點 必須要按“回車”鍵才起作用!!! 應該是getch() 不好意思~~~

getchar用法 匿名使用者 1級 2012-12-12 回答

getchar 的用途是從從標準輸入流讀取一個字元,讀回車符時退出

getchar();永遠只向快取中輸入一個字元。

getchar();的用法:

一種就是清空回車符 這種情況一般發生在在迴圈中涉及到輸入的情況 ,還有一種是某些編譯平臺(IDE)在執行程式時並沒有在程式執行後給人看結果的時間 這時候 在程式最後加上getchar()就能造成程式的暫停 給程式設計師度結果的機會。

注意:

用getchar時,在鍵盤上按一個字元後,要按回車才能讀取進去;用getch時,在鍵盤上按一個字元馬上就被讀取進去,不用按回車,因此可以作為“按任意鍵繼續”的執行語句。

getchar用法 匿名使用者 1級 2012-12-12 回答

getchar() 是從鍵盤讀取一個字元放入緩衝區

然後在取出來

你在輸入某個數或者字元後 敲回車 其實緩衝區也接受了你的回車了

你可以這麼修改

char ch;

int key;

printf(“please input key”);

scanf(“%d”,&key);

fflush(stdin);

printf(“please input ming wen\n”);

ch=getchar();

fflush(stdin);

while(ch!=‘\n’)

{

putchar(ch+key);

printf(“\n”);

ch=getchar();

fflush(stdin);

}

加上fflush(stdin);來清空緩衝區

想要程式結束 直接敲回車就OK了

Top