【求助帖】关于switch语句作业
为啥我编译1.2*2算出来是0,这程序逻辑按小甲鱼答案给的编译的int main()
{
int op1,op2;
char ch;
float result;
printf("请输入式子:");
scanf("%d %c %d",&op1,&ch,&op2);
switch(ch)
{
case '*':result=op1*op2;break;
case '-':result=op1-op2;break;
case '+':result=op1+op2;break;
case '/':
if(op2==0)
{
printf("很遗憾,除数不能为0!\n");
break;
}
else
int op1,op2;
...
scanf("%d %c %d",&op1,&ch,&op2);
你要用浮点数那么op1和op2也应该改成浮点数,scanf也应该进行相应的修改
Croper 发表于 2019-4-20 22:57
你要用浮点数那么op1和op2也应该改成浮点数,scanf也应该进行相应的修改
小甲鱼答案里就是那样写的,那应该就是小甲鱼错了 身寸白勺女少 发表于 2019-4-20 23:06
小甲鱼答案里就是那样写的,那应该就是小甲鱼错了
请给链接,
我猜他并没有让你使用浮点数 Croper 发表于 2019-4-20 22:57
你要用浮点数那么op1和op2也应该改成浮点数,scanf也应该进行相应的修改
你看看我else后面的代码,为啥我1/0提示我除数不能为0然后又会输出0.00
else
{
result = (float)op1/op2;
break;
}
}
printf("%.2f\n",result);
return 0;
身寸白勺女少 发表于 2019-4-20 23:08
你看看我else后面的代码,为啥我1/0提示我除数不能为0然后又会输出0.00
因为你printf在if代码块之外啊 Croper 发表于 2019-4-20 23:07
请给链接,
我猜他并没有让你使用浮点数
https://fishc.com.cn/forum.php?mod=viewthread&tid=68327&extra=page%3D1%26filter%3Dtypeid%26typeid%3D570 身寸白勺女少 发表于 2019-4-20 23:22
https://fishc.com.cn/forum.php?mod=viewthread&tid=68327&extra=page%3D1%26filter%3Dtypeid%26typeid% ...
那这回还真是小甲鱼贴错答案了
@小甲鱼
页:
[1]