⑴ c語言中當輸入一個字元或數字後要要按下enter鍵,但enter鍵在提示計算機用戶輸入完成後也傳達
其實是在輸入後鍵入內容和回車一起進入到了緩沖區
如果沒有把緩沖區內容讀完那麼下次再從緩沖區獲取數據時就直接使用了遺留的緩沖區數據
一般來說會以換行符為結束 如果輸入錯誤的話也會遺留其他數據
如果緩沖區只有一個換行符的話可以使用getchar來吸收換行符
或者fflush(stdin); rewind(stdin);來清空緩沖區
⑵ c語言中如何從鍵盤上得到數字
用scanf語句。
其實scanf是一個函數,格式是:
1、輸入整型數:
scanf("%d",&a);
式中%d是整型數的格式符,a是用int a;聲明過的整型數變數名。
2、輸入浮點數:
scanf("%f",&b);
式中%f是浮點數的格式符,b是用float b;聲明過的浮點數變數名。
然後,系統就會等待你從鍵盤上輸入一個數字。輸入數字完畢按回車鍵結束輸入。
不知道是不是解決了你的問題,如果沒有請留言。
⑶ 關於c語言中會回車鍵的功能
你說的執行是回車符吧('\r',
0x0d),
在這里你可以無視它.
你在按下回車鍵時,實際讀入輸入緩沖區的只有一個換行符('\n',
0x0a)。
scanf("%d",&num[i]);執行後,
你輸入數字123,
按回車,輸入緩沖區的內容是"123\n".
這時數字被scanf讀入,
但是輸入緩沖區里還有一個'\n'.
getchar()把'\n'取出,以免影響gets.
而gets在遇到'\n'時會停止讀數據,所以如果不用getchar取出'\n',
gets遇到'\n'立即停止,只能讀到一個空串,
'\0'.
這個'\0'是gets自己添加到字元串尾的,讀不到數據就會有這樣一個字元,這個是字元串結束標志,並非讀到的字元。
⑷ c語言中怎麼輸入數字按回車鍵就出現預期的信息那種
只是單純輸入,只要先定義一個變數接收輸入,再用scanf函數往變數里輸入值。
比如:
int n;
scanf("%d",&n);
printf("%d",n);
之後你可以對n的值進行判斷,決定是否執行後面的語句。
當然,也可以用getchar函數來實現輸入回車,稍微復雜一點,單字元接收再轉換:
int main()
{
char c;
int n=0;
while((c=getchar())!='\n')
n=n*10+c-'0';
printf("%d",n);
return 0;
}
一樣可以輸入999回車。
⑸ 為什麼c語言這個程序輸入數字之後按回車出不來啊,就只能一直回車
scanf 裡面不要寫多餘的東西。交換應該是這樣的。
⑹ c語言怎麼解決scanf()把回車作為輸入值的問題,請仔細看我的代碼
你的問題在於空格。
如果scanf裡面有空格(你當前代碼),那麼輸入也要加上空格:6
+
5回車
如果按照你的輸入,那麼scanf裡面格式化字元串之間的空格要去掉。
⑺ c語言編程中連續按回車輸入數據問題
問題出現在scanf,因為它讀到回車就停止,卻把回車留在緩沖區,下一次再來時,回車還在,它就繼續把回車留著,所以什麼數據都沒讀到就又停了,這是它的設計造成的,可以在循環中用getch()函數把每一次的回車去掉,就可以解決了,比如在printf("%.2f\n",b);
一行後加getch();就可以了
⑻ C語言關於函數的題目,怎樣敲了回車之後繼續輸入
#include<stdio.h>
#definePI3.1415926
doublegetS(doubler)
{
returnPI*r*r;
}
doublegetC(doubler)
{
return2.0*PI*r;
}
intmain()
{
charch;
doubler;
do{
scanf("%lf",&r);
printf("%.2lf,%.2lf ",getS(r),getC(r));
getchar(); // forenter
scanf("%c",&ch);
}while(ch=='Y');
return0;
}