C语言,将switch语句写的程序转换为用else if语句写为什么功能实现不了?
发布网友
发布时间:2022-04-09 10:46
我来回答
共4个回答
热心网友
时间:2022-04-09 12:16
比较是 == 。
不是= ,你写成赋值语句了。这个问题很常犯,建议使用 “常数==变量”的写法,可以避免自己的粗心。
if else用的多,两者基本没有任何区别。switch适用于分支比较多的情况,而且可以不谢break语句来达到特殊效果。
热心网友
时间:2022-04-09 13:34
#include<stdio.h>
int main()
{
float a,b;
char c;
printf("模拟四则运算:\n");
scanf("%f%c%f",&a,&c,&b);
printf("%d\n",c);
if(c=='+')//<----------
printf("%f\n",a+b);
else if(c=='-')//<----------
printf("%f\n",a-b);
else if(c=='*')//<----------
printf("%f\n",a*b);
else if(c=='/')//<----------
if(b==0)
printf("除数不能为0。\n");
else
printf("%f\n",a/b);
else
printf("输入错误\n");
return 0;
}
热心网友
时间:2022-04-09 15:08
#include<stdio.h>
int main()
{
float a,b;
char c;
printf("模拟四则运算:\n");
scanf("%f%c%f",&a,&c,&b);
printf("%d\n",c);
if(c=='+')//注意
printf("%f\n",a+b);
else if(c=='-')//注意
printf("%f\n",a-b);
else if(c=='*')//注意
printf("%f\n",a*b);
else if(c=='/')//注意
if(b==0)
printf("除数不能为0。\n");
else
printf("%f\n",a/b);
else
printf("输入错误\n");
return 0;
}
注意赋值(=)与判断相等(==)的差别。
热心网友
时间:2022-04-09 17:00
新手常犯的一个错误,老手也偶尔会犯
建议以后可以这样写避免错误
比如if(c=='+')可以写成这样if('+' == c)