#include<stdio.h>
int main()
{
int x;
char c1;
float a,b;
do
{
scanf("%f %c %f",&a,&c1,&b);
getchar();
if(c1=='+')
{
printf("a+b=%f",a+b);
x=0;
}
else if(c1 == '-')
{
printf("a-b=%f",a-b);
x=0;
}
else if(c1 == '*')
{
printf("a*b=%f",a*b);
x=0;
}
else if(c1 == '/')
{
printf("a/b=%f",a/b);
x=0;
}
else
{
printf("請輸入只含有加減乘除的算式\n");
x=1;
}
}while(x);
}
想問一下各位大佬為什么錯誤時會輸出好幾次"請輸入只含有加減乘除的算式"
uj5u.com熱心網友回復:
你是怎么個錯誤的輸法呢?uj5u.com熱心網友回復:
哪里有問題?跑了一遍沒有啊uj5u.com熱心網友回復:
懷疑樓主的輸入格式有問題,建議樓主貼出測驗用例。如下輸入是沒問題的:
1 + 2
1 * 2
注意1和+或*之間有空格
uj5u.com熱心網友回復:
是這樣的,如果輸入的不是只含有加減乘除的算式,他會輸出很多行”請輸入只含有加減乘除的算式”
uj5u.com熱心網友回復:
while(x)里的x 被賦值。而且do...while()的回圈里沒有退出的條件。
uj5u.com熱心網友回復:
getchar()的作用是什么?uj5u.com熱心網友回復:
輸入其他的不就成了死回圈了?轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/107146.html
標籤:C語言
