請高手指點getch()與getchar()的區別

2021-12-19 14:34:03 字數 5571 閱讀 6282

1樓:頓楊氏乘姬

getchar有一個int型的返回值.當程式呼叫getchar時.程式就等著使用者按鍵.

使用者輸入的字元被存放在鍵盤緩衝區中.直到使用者按回車為止(回車字元也放在緩衝區中).getchar函式的返回值是使用者輸入的第一個字元的ascii碼,如出錯返回-1,且將使用者輸入的字元回顯到螢幕.

如使用者在按回車之前輸入了不止一個字元,其他字元會保留在鍵盤快取區中,等待後續getchar呼叫讀取.也就是說,後續的getchar呼叫不會等待使用者按鍵,而直接讀取緩衝區中的字元,直到緩衝區中的字元讀完為後,才等待使用者按鍵.

getch與getchar基本功能相同,差別是getch直接從鍵盤獲取鍵值,不等待使用者按回車,只要使用者按一個鍵,getch就立刻返回,getch返回值是使用者輸入的ascii碼,出錯返回-1.輸入的字元不會回顯在螢幕上.getch函式常用於程式除錯中,在除錯時,在關鍵位置顯示有關的結果以待檢視,然後用getch函式暫停程式執行,當按任意鍵後程式繼續執行.

2樓:陀昶釁瑾瑤

簡單來說,getchar()是一個整型的用於接收輸入的字元的函式,而getch(),在tc中或win-tc中較常見,放在程式的末尾,起到暫停作用,就是把資料顯示在螢幕上,如果不加getch(),螢幕一閃而過

3樓:丁宇席聽芹

首先是兩個函式存在的標頭檔案不同,這個基本上你寫#include後就行了

然後就是用法稍微有些區別:

1.getchar(),能接受一個字元,按回車結束,並且在螢幕上顯示出來,而且可以向前清除剛才所寫的

2.getch(),接收一個字元,在螢幕上不顯示你自己多寫寫,練練應該可以理解的

4樓:粟長順潮亥

getchar是優化過的,

getchar輸入字元,一直到按下回車才結束,然後執行**

getch不用按回車鍵

5樓:鍾發閉慕

主要的區別在於getch是沒有回顯的,也就是你輸入字元不會在螢幕上顯示

getchar是有回顯的,兩者都是輸入一個字元...

6樓:天遠康嬋

1.getchar();從鍵盤讀取一個字元並輸出,該函式的返回值是輸入第一個字元的ascii碼;若使用者輸入的是一連串字元,函式直到使用者輸入回車時結束,輸入的字元連同回車一起存入鍵盤緩衝區。若程式中有後繼的getchar();函式,則直接從緩衝區逐個讀取已輸入的字元並輸出,直到緩衝區為空時才重新讀取使用者的鍵盤輸入。

2.getch();接受一個任意鍵的輸入,不用按回車就返回。該函式的返回值是所輸入字元的ascii碼,且該函式的輸入不會自動顯示在螢幕上,需要putchar();函式輸出顯示。

getch();函式常用於中途暫停程式方便除錯和檢視。

3.getchar();和getch();的另一個區別就是所需要包含的標頭檔案不同。

getchar();用#include

getch();

用#include

7樓:大家快來救我吧

getch與getchar基本功能相同,差別是getch直接從鍵盤獲取鍵值,不等待使用者按回車,只要使用者按一個鍵,getch就立刻返回, getch返回值是使用者輸入的ascii碼,出錯返回-1.輸入的字元不會回顯在螢幕上.

getch函式常用於程式除錯中,在除錯時,在關鍵位置顯示有關的結果以待檢視,然後用getch函式暫停程式執行,當按任意鍵後程式繼續執行.

8樓:池綠柳穆丙

getch():

所在標頭檔案:conio.h

函式用途:從控制檯讀取一個字元,但不顯示在螢幕上

例如:char

ch;或int

ch;getch();或ch=getch();

用getch();會等待你按下任意鍵,再繼續執行下面的語句;

用ch=getch();會等待你按下任意鍵之後,把該鍵字元所對應的ascii碼賦給ch,再執行下面的語句。

getchar():

該函式宣告在stdio.h標頭檔案中,使用的時候要包含stdio.h標頭檔案。如:

#include

intgetchar(void);

getch與getchar基本功能相同,差別是getch直接從鍵盤獲取鍵值,不等待使用者按回車,只要使用者按一個鍵,getch就立刻返回,

getch返回值是使用者輸入的ascii碼,出錯返回-1.輸入的字元不會回顯在螢幕上.getch函式常用於程式除錯中,在除錯時,在關鍵位置顯示有關的結果以待檢視,然後用getch函式暫停程式執行,當按任意鍵後程式繼續執行.

9樓:匿名使用者

getch()的作用是從鍵盤接收一個字元,而且並不把這個字元顯示出來,就是說,你按了一個鍵後它並不在螢幕上顯示你按的什麼,而繼續執行後面的**;

getche()則是有返回顯示;

getchar()函式也是從鍵盤上讀入一個字元,並帶回顯。它與getch()的區別在於:getchar()函式等待輸入直到按回車才結束,回車前的所有輸入字元都會逐個顯示在螢幕上但只有第一個字元作為函式的返回值.

getchar()函式getch()函式區別?

10樓:田會嬌

getch()是讀取一個字元不按回車鍵不輸出,可以寫成_getch()

getchar()是讀取一個字元按回車鍵輸出,和cin、scanf、gets的作用一樣

11樓:匿名使用者

1.getchar();從鍵盤讀取一個字元並輸出,該函式的返回值是輸入第一個字元的ascii碼;若使用者輸入的是一連串字元,函式直到使用者輸入回車時結束,輸入的字元連同回車一起存入鍵盤緩衝區。若程式中有後繼的getchar();函式,則直接從緩衝區逐個讀取已輸入的字元並輸出,直到緩衝區為空時才重新讀取使用者的鍵盤輸入。

2.getch();接受一個任意鍵的輸入,不用按回車就返回。該函式的返回值是所輸入字元的ascii碼,且該函式的輸入不會自動顯示在螢幕上,需要putchar();函式輸出顯示。

getch();函式常用於中途暫停程式方便除錯和檢視。

3.getchar();和getch();的另一個區別就是所需要包含的標頭檔案不同。

getchar();用#include

getch(); 用#include

12樓:匿名使用者

getchar是優化過的,

getchar輸入字元,一直到按下回車才結束,然後執行**

getch不用按回車鍵

13樓:匿名使用者

getch():

所在標頭檔案:conio.h

函式用途:從控制檯讀取一個字元,但不顯示在螢幕上例如:char ch;或int ch;

getch();或ch=getch();

用getch();會等待你按下任意鍵,再繼續執行下面的語句;

用ch=getch();會等待你按下任意鍵之後,把該鍵字元所對應的ascii碼賦給ch,再執行下面的語句。

getchar():

該函式宣告在stdio.h標頭檔案中,使用的時候要包含stdio.h標頭檔案。如:

#include

int getchar(void);

getch與getchar基本功能相同,差別是getch直接從鍵盤獲取鍵值,不等待使用者按回車,只要使用者按一個鍵,getch就立刻返回, getch返回值是使用者輸入的ascii碼,出錯返回-1.輸入的字元不會回顯在螢幕上.getch函式常用於程式除錯中,在除錯時,在關鍵位置顯示有關的結果以待檢視,然後用getch函式暫停程式執行,當按任意鍵後程式繼續執行.

14樓:匿名使用者

getchar()從輸入裝置得到一個字元,這個字元顯示在螢幕上,getch從輸入裝置得到一個字元,但是這個字元不顯示在螢幕上,例如:

#include

int main()

假設這兒從鍵盤得到一個字元f按回車你就會看到這樣的結果ff第一個f是你輸入的f,第二個是printf得到的f#include

int main()

假設輸入一個f得到的結果是

f這個f就是printf輸出的f

希望我的回答能令你滿意

15樓:喜鵲兒

首先是兩個函式存在的標頭檔案不同,這個基本上你寫#include後就行了

然後就是用法稍微有些區別:

1.getchar(),能接受一個字元,按回車結束,並且在螢幕上顯示出來,而且可以向前清除剛才所寫的

2.getch(),接收一個字元,在螢幕上不顯示你自己多寫寫,練練應該可以理解的

16樓:匿名使用者

getch只認'\r'不認'\n' getchar只認'\n'不認'\r'

c語言課本105頁有例子,自己看書啦

17樓:獵手

請參閱本答案參看@lyz810層主的回答:

函式名: getch

功  能:從控制檯無回顯地取一個字元用  法: int getch(void);

程式例:

#include

#include

int main(void)

函式名: getchar

功  能:從stdin流中讀字元用  法: int getchar(void);

程式例:

#include

int main(void)

(看懂了你就明白為什麼用getch()暫停除錯程式而不用getchar()了)

c語言中的getchar()和getch()有區別嗎

18樓:宋燦愛雪巧

getch()是讀取按鍵值常放在程式末尾起暫停作用而getchar()是從標準輸入裝置讀取下一個字元~~所讀字元若檔案結束或出錯則返回-1

19樓:匿名使用者

自己測試一下,getchar必須遇到回車才接受指令,getch則隨意#include

#include

int main()

20樓:

沒有不同的,只是所在的編譯環境不同,前者是在wintc中,後者是在vc中出現。

21樓:止昭懿哀叡

getchar有一個int型的返回值.當程式呼叫getchar時.程式就等著使用者按鍵.

使用者輸入的字元被存放在鍵盤緩衝區中.直到使用者按回車為止(回車字元也放在緩衝區中).getchar函式的返回值是使用者輸入的第一個字元的ascii碼,如出錯返回-1,且將使用者輸入的字元回顯到螢幕.

如使用者在按回車之前輸入了不止一個字元,其他字元會保留在鍵盤快取區中,等待後續getchar呼叫讀取.也就是說,後續的getchar呼叫不會等待使用者按鍵,而直接讀取緩衝區中的字元,直到緩衝區中的字元讀完為後,才等待使用者按鍵.

getch與getchar基本功能相同,差別是getch直接從鍵盤獲取鍵值,不等待使用者按回車,只要使用者按一個鍵,getch就立刻返回,getch返回值是使用者輸入的ascii碼,出錯返回-1.輸入的字元不會回顯在螢幕上.getch函式常用於程式除錯中,在除錯時,在關鍵位置顯示有關的結果以待檢視,然後用getch函式暫停程式執行,當按任意鍵後程式繼續執行.

高手請指點,高手指點

我當初剛進l3的時候和你的情況一樣,怎麼都完不成,高速和髮夾還好,特別是冰山滑雪場,總覺得人家咋就那麼快,我咋就完不成呢,我以一個過來人的經歷說下我的情況,希望能夠幫助到你吧,樓主.1 對於新手來說,什麼雙噴,斷噴,連噴,link噴都不需要,只要掌握好最佳化漂移就可以了,掌握好了這一著不敢說是能夠把...

求解?象棋高手指點!!請象棋高手指點!

看來這位仁兄是不懂象棋專業術語啊,其實這也不需要用圖來說明,我用通俗的話解釋一下吧,這棋是紅的先走,最後獲勝。僅需三步!一 先用車往前進四格,沉底將軍。二 黑棋必須上將。三 紅再把車退一步將軍。四 黑棋不能上將,只有再退回去。五 紅棋再用前面黑士旁邊的炮往前進兩格將軍。這樣,黑方老將走不動,也不能上...

請DOTA高手指點一下,請dota高手指點

1.初期中路練級和兩側練級有區別麼?中路為了級數,為了讓中路的去gank。2.如果對方集中起來壓一條路,是選則團p反壓制好,還是走兩側打錢好?如果你們有2個以上的後期就等於輸了,如果是2個以下,那麼就讓一個能快起的去打錢,4個人守住。那種時候千萬要小心,走位一定要好,不然一人死就會有機會團滅。有後期...