首先,scanf("%f%c%f",&a&t&b)这句有错,缺逗号。应改为scanf("%f%c%f",&a,&t,&b);
其次, if(get(=))这句有错。
字符输入有两种方式 1 char s;
scanf("%c", &w);
2 char s;
s = getchar();
字符型数组的输入方式有 char s[ ];
gets(s);
而用get来输入单个字符是不合法的。
再次,if(get(=))
printf("%f",s);break; 这两句有错误。
break的功能是:用于嵌套循环时,跳出包含它的最内层循环(for循环或switch。
。。case循环)。
在这个程序的if语句中,break是多余的,没啥用。
最后,switch。。。case语句缺少default分支。
程序可更改为:
#include
int main()
{
float a,b,s;
char t, w;
printf("欢迎使用!
");
scanf("%f%c%f",&a,&t,&b);
switch(t)
{
case' ':s=a b;break;
case'-':s=a-b;break;
case'*':s=a*b;break;
case'/':s=a/b;break;
default:
break;
}
w = getchar();
if ('=' == w)
{
printf("%f",s);
}
return 0;
}
也可以更改为:
#include
int main()
{
float a,b,s;
char t, w;
printf("欢迎使用!
");
scanf("%f%c%f",&a,&t,&b);
switch(t)
{
case' ':
s=a b;
break;
case'-':
s=a-b;
break;
case'*':
s=a*b;
break;
case'/':
s=a/b;
break;
default:
break;
}
scanf("%c", &w);
if ('=' == w)
{
printf("%f",s);
}
return 0;
}
这样,当你在键盘上敲入2 3=时,就会有结果5。
000000输出。
全部