|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- #include <stdio.h>
- int main()
- {
- int a,b,c;
- char sign;
- printf("请输入表达式:");
- scanf("%d%c%d",&a,&sign,&b);
- switch(sign)
- {
- case '+':c=a+b;
- printf("%d+%d=%d",a,b,c);break;
- case '-':c=a-b;
- printf("%d-%d=%d\n",a,b,c);break;
- case '*':c=a*b;
- printf("%d*%d=%d\n",a,b,c);break;
- case '/':c=a/b;
- if(b==0)printf("算式输入错误\n");
- else printf("%d/%d=%d",a,b,c);break;
- }
- return 0;
- }
复制代码
各位热心的网友们帮我看看哪里错了,问题一:被除数为0为什么不输出“算式输入错误”?
问题二:为什么“b=0”和“b==0”运算除数时输出结果不同?
谢谢你们的回应^_^
本帖最后由 rt3 于 2020-12-3 21:07 编辑
第1个问题
这是编译器的问题。正常情况下 在 c=a/b 那一步就该崩了
如图
第2个问题
b=0是赋值语句,将b赋值为0
b==0只是个布尔表达式,对b的值没有影响
|
|