本文目錄一覽:
- 1、C語言 為什麼按兩下回車才運行
- 2、C程序,為什麼第一次輸入計算不出結果 按2下回車鍵後再輸入就可以出結果
- 3、c語言 輸入若干行字元串,行數不確定,以連敲兩次回車結束輸入。然後輸出與輸入相同字元串
- 4、C語言中回車怎麼打
- 5、為什麼C語言中輸入後字元要按兩次回車才能執行下面代碼?
- 6、C++程序,為什麼這個程序輸入要按2次回車才能輸出來,要怎樣修改使得按一下回車就有輸出?
C語言 為什麼按兩下回車才運行
c語言通過標準輸入設備(鍵盤)輸入的時候是先把數據存到緩衝區裡面。
首先編譯器看到scanf(“%c”, ch);後知道需要一個字元,那麼就在緩衝區里尋找找是否有一個字元,如果緩衝區中沒有則會請求用戶輸入。而如果緩衝區有字元的話就會把緩衝區里的字元存入變數中。在你剛才的輸入時,字元’a’和回車(‘\n’)都會存放在緩衝區中,所以第二次scanf不會請求用戶輸入而直接把\n存到變數中去了。
你可以這樣寫:
printf(“Please enter a character:\n”);
scanf(“%c\n”,ch);
這樣可以把換行字元從緩衝區清除掉。
你可以ctrl+z或者ctrl+d
C程序,為什麼第一次輸入計算不出結果 按2下回車鍵後再輸入就可以出結果
scanf(“%f %c %f”,x,a,y);
while(scanf(“%f %c %f”,x,a,y)==3)
這裡你的scanf()函數你寫了兩遍,就意味著你要完成兩次輸入!
所以你需要按兩下回車來確認兩次輸入結束!
修改方法很多,最簡單的就是把第一個scanf()函數去掉!
c語言 輸入若干行字元串,行數不確定,以連敲兩次回車結束輸入。然後輸出與輸入相同字元串
這個應該滿足要求
你可以先試試
#include stdio.h
int main()
{
char s;
char p;
s = 0;
while(p=getchar())
{
if(p==’\n’s==p)
break;
s = p;
putchar(p);
}
return 0;
}
C語言中回車怎麼打
#include
stdio.h
#includeconio.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語言中輸入後字元要按兩次回車才能執行下面代碼?
這具體要看樓主所說的代碼是如何的了。
char ch;
scanf(“%c”,ch);
printf(“%c”,ch);
很明顯只要一次回車就可以執行下面代碼的。
#include stdio.h
int main()
{ char ch;
scanf(“%c”,ch);
printf(“%c:%d”,ch,ch);
return 0;
}
C++程序,為什麼這個程序輸入要按2次回車才能輸出來,要怎樣修改使得按一下回車就有輸出?
需要兩次的原因:
while (getline(cin, line)) //程序停(阻塞)在這裡等待輸入。你輸入後,返回一個長度(非零值)
{
cout line endl; // 程序執行
} //到這裡後,程序將繼續回到while (getline(cin, line)) 處等待。為什麼?C語言就這麼規定的
第二次輸入回車,getline(cin, line)返回0,退出while。修改:直接去掉while。
int main()
{
string line;
// read line at time until end-of-file
getline(cin, line);
cout line endl;
return 0;
}
斗膽問一下:
1. 您當初要while,想讓他幹什麼??
2. 您很了解while的行為規則嗎??
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/227500.html