#include<stdio.h>
int main()
{
char fh;
int i,a,b,c;
for(i=0;i<5;i++)
{
printf("輸入符號\n");
fh=getchar();
printf("數字\n");
scanf("%d%d",&a,&b);
if(fh=='+') c=a+b;
printf("%d\n",c);
}
return 0;
}
第一遍我輸的+和兩個數沒問題,
但回圈第二遍后發現無法輸入符號了,為什么啊?
uj5u.com熱心網友回復:
這個情況解答了無數個人,所有這里就簡單點,第二次輸入的時候getchar把\n,也就是回車吃了,所有就一直運行下去了,解決辦法就是先吃掉輸入快取區的回車
#include<stdio.h>
int main()
{
char fh;
int i,a,b,c;
for(i=0;i<5;i++)
{
printf("輸入符號\n");
if(i>0)
getchar();
scanf("%c",&fh);
printf("數字\n");
scanf("%d%d",&a,&b);
if(fh=='+')
{
c=a+b;
}
printf("%d\n",c);
}
return 0;
}
結果
運行環境:gcc 編輯環境:sources insight
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/20678.html
標籤:基礎類
上一篇:幫一下忙啊
下一篇:求大佬幫忙,小白不會。
