一直有报错,大神帮我看看问题出在哪里,并且多写出一个除数等于0报错的状态。谢谢,x后面是用ASCII码代替#include<stdio.h>void main(){float a=0,b=0,c=0;char x;scanf("%f%c%f=,&a,&x,&b); if(x==43) { c=a+b; printf("%f+%f=%f,a,b,c); break; } if(x==45) { c=a-b; printf("%f-%f=%f,a,b,c); break; } if(x==42){ c=a*b; printf("%f*%f=%f,a,b,c); break;} if(x==47){ c=a/b; printf("%f/%f=%f,a,b,c); break;}
请问你这个程序是用来解决什么问题的?另外帮你指出一些错误。a,b你已经赋值了,就不需要scanf输入了。scanf("%c",&x);这才是正确的格式,你都丢了一个引号。程序中并没有用到循环语句,break是不需要的。 追问 那用if可以吗,我看大部分人都是用switch的,就是做一个简易的加减乘除的计算器 追答 可以啊,switch和for都是循环语句