c语言问题,这个代码为什么会出现运行错误,运行结果完全正确。
#include<stdio.h>intmain(){inta,b,s;charop;scanf("%d%c%d",&a,&op,&b);if(op=='/'&&b==0...
#include<stdio.h>
int main()
{
int a, b, s;
char op;
scanf("%d %c %d", &a, &op, &b);
if (op == '/'&&b == 0)printf("Invalid\n");
if (op == '%'&&b == 0)printf("Invalid\n");
switch (op)
{
case '+':s = a + b; break;
case '-':s = a - b; break;
case '*':s = a*b; break;
case '/':s = a / b; break;
case '%':s = a%b; break;
}
printf("%d %c %d = %d\n", a, op, b, s);
return 0;
}
运行1 / 0时,出现结果后,会出现exe已停止工作的对话框 展开
int main()
{
int a, b, s;
char op;
scanf("%d %c %d", &a, &op, &b);
if (op == '/'&&b == 0)printf("Invalid\n");
if (op == '%'&&b == 0)printf("Invalid\n");
switch (op)
{
case '+':s = a + b; break;
case '-':s = a - b; break;
case '*':s = a*b; break;
case '/':s = a / b; break;
case '%':s = a%b; break;
}
printf("%d %c %d = %d\n", a, op, b, s);
return 0;
}
运行1 / 0时,出现结果后,会出现exe已停止工作的对话框 展开
2018-04-14
展开全部
虽然输出的"Invalid", 但是后面继续执行了1/0
应该在输出错误后退出程序
应该在输出错误后退出程序
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
什么叫运行错误,运行结果又正确?你到底想表达什么?
更多追问追答
追问
运行1 / 0时,出现结果后,会出现exe已停止工作的对话框
追答
if ((op == '/' || op == '%') && b == 0)
{
printf("Invalid\n");
return 0;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询