[英]C program basic calculator
#include<stdio.h>
int main()
{
int a,b;
char op;
scanf("%d",&a);
scanf("%c",&op);
scanf("%d",&b);
int w,x;
w=a+b;
x=a-b;
switch(op)
{
case'+':
{
printf("%d",w);
break;
}
case'-':
{
printf("%d",x);
break;
}
default:
{
printf("Invalid");
break;
}
}
return 0;
}
每当我输入第二个输入-字符(+或-)时,在切换的情况下,它直接变为无效。 我在这里做错了什么?
您的scanf
序列没有按照您的想象做。 在switch
之前打印出op
的值,您会发现问题所在。
您的程序运行正常。 您的问题在于输入:使用123+456
而不是在小数点和运算符之间按Enter。
这是您的程序的示例:
$ ./basic
456-123
333$
我建议在每个printf()格式字符串中添加\\n
以消除在同一行中显示的提示。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.