當前位置:首頁 » 編程語言 » C語言回車怎麼吃
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

C語言回車怎麼吃

發布時間: 2023-03-31 08:32:28

『壹』 c語言中 scanf後面一定要跟個 getchar吃回車嗎

c語言中在讀取鍵盤數據時,一般是帶緩存的數據輸入,需要按回車鍵才能完成該「行」數據的輸入確認。

而scanf()函數對這個回車確認符並不進行處理,回車符會留在輸入緩存區中。

因此,在下一個讀「字元」操作函數(getchar, scanf("%c"), gets()等)運行時,會讀到這個字元。

而在讀數值型數據或字元串時,scanf()會從第一個非空白字元(空白字元指:回車,空格,TAB鍵)開始讀取,自動忽略前面的空白字元,而遇到空白字元結束該類型數據的輸入。

因此,是否一定要在scanf後面跟個 getchar吃回車,要看下一個輸入的數據類型是什麼,如果是讀字元類操作,處理辦法有多種方式:

一、用fflush(stdin)命令強行刷新輸入緩存,丟棄輸入緩存中的數據,此種方法在windows下使用有效,linux無效。

charch;
fflush(stdin);//不管緩存中有沒有數據,強行清除
ch=getchar();//這里會等待用戶輸入一個字元

二、前面有讀數據操作,現在要執行讀字元操作,則可用getchar()來吃掉前面的回車確認

inti;
charch;
scanf("%d",&i);//讀一個整數,回車確認
getchar();//先吃掉回車確認符,這兩句,效果同下一方法的那一句
ch=getchar();//這里會等待用戶輸入一個字元

三、在scanf()書寫上做文章,如:讀一個數據,以回車確認,則輸寫成如下格式

inti;
charch;
scanf("%d%*c",&i);//%*c表示讀一個字元,並不賦值給任何變數
ch=getchar();//這里不會讀到回車符

『貳』 C語言中回車怎麼打

#include
<stdio.h>
#include<conio.h>
void
main()
{
while(1)
{
printf("in
the
while\
");
if(getch()=='\\r')
break;
}
printf("out
of
the
while\
");
}
這個程序是只需要按一下回車就可以退出了。(用getchar函數,則需按兩次)
附:
getchar和getch的區別
getchar有一個int型的返回值.當程序調用getchar時.程序就等著用戶按鍵.用戶輸入的字元被存放在鍵盤緩沖區中.直到用戶按回車為止(回車字元也放在緩沖區中).
getchar函數的返回值是用戶輸入的第一個字元的ascii碼,如出錯返回-1,且將用戶輸入的字元回顯到屏幕.如用戶在按回車之前輸入了不止一個字元,其他字元會保留在鍵盤緩存區中,等待後續getchar調用讀取.也就是說,後續的getchar調用不會等待用戶按鍵,而直接讀取緩沖區中的字元,直到緩沖區中的字元讀完為後,才等待用戶按鍵.
getch與getchar基本功能相同,差別是getch直接從鍵盤獲取鍵值,不等待用戶按回車,只要用戶按一個鍵,getch就立刻返回,getch返回值是用戶輸入的ascii碼,出錯返回-1.輸入的字元不會回顯在屏幕上.getch函數常用於程序調試中,在調試時,在關鍵位置顯示有關的結果以待查看,然後用getch函數暫停程序運行,當按任意鍵後程序繼續運行.
相同點都是從鍵盤上讀入一個字元。
getch()從鍵盤讀入一個字元且不回顯。

『叄』 請問 C語言中回車鍵應該怎樣輸入

如果要在程序中表示回車鍵,只要用轉義字元'\n'就可以了。
例如,執行輸出語句
printf("Hello!\nToday
is
Friday!\n");
後,就可以得到二行內容:
Hello!
Today
is
Friday!

『肆』 C語言什麼時候應該加getchar()吃掉回車

在需要連續輸入的情況下,也就是你剛輸入完一個字元串,後面還需要輸入另一個,需要加一個getchar(),用它來抵消那個回車鍵,要不第二個字元串會有問題。

『伍』 c語言怎麼吃掉回車

//


以下語句可以清空輸入旅皮緩沖區中嫌鎮頃所有殘芹陸留(直到回車)

int c;

while((c=getchar())!=' ');