scanf里面%c前面什么时候加空格,为什么有时候加有时候不加
输入一个四则运算表达式,输出运算结果,要求对除数为0的情况作特别处理。题目保证输入与输出均在双精度范围内。输入格式:
输入在一行中依次输入操作数1、运算符、操作数2,其间没有空格,操作数的数据类型为实型。
输出格式:
在一行中输出表达式的运算结果,保留两位小数。
比如这道题
如果除法分母为0,则输出错误信息“Divisor can not be 0!”;如果输入了除加减乘除以外的非法运算符,则输出错误信息“Unknown operator!”。
输入样例1:
3.1+4.8
输出样例1:
7.90
输入样例2:
98/0
输出样例2:
Divisor can not be 0!
输入样例1:
123%3
输出样例1:
Unknown operator!
int main()
{
double a,b,d;
char c;
scanf("%lf%c%lf",&a,&c,&b);
switch(c)
{case'+':printf("%.2lf",a+b);break;
case'-':printf("%.2lf",a-b);break;
case'*':printf("%.2lf",a*b);break;
case'/':
{if(b==0)
printf("Divisor can not be 0!");
else if(b!=0)
printf("%.2lf",a/b);break;
}break;
default:printf("Unknown operator!");break;
}
return 0;
}
为什么这个里面%c前面不加