最简单的方法是把scanf("%c",&c);改成scanf("%s",&c);
最简单的方法是把scanf("%c",&c);改成scanf("%s",&c);
不是吧?
最简单的方法应该是 在 scanf("%c",&c)的%前面加一个空格,scanf(" %c",&c)
%s 可能会报错
#include <stdio.h>
float add(float x,float y)
{return(x+y);}
float sub(float x,float y)
{return(x-y);}
float dev(float x,float y)
{return(x/y); }
float mul(float x,float y)
{return(x*y);}
main()
{
float a,b,p;
char c;
printf("input two numbers:\n");
scanf("%f%f",&a,&b);
printf("input the character:\n");
scanf("%s",&c);
switch(c)
{
case '+': {p=add(a,b);printf("%f\n",p);getch();break;}
case '-': {p=sub(a,b);printf("%f\n",p);getch();break;}
case '/': {p=dev(a,b);printf("%f\n",p);getch();break;}
case '*': {p=mul(a,b);printf("%f\n",p);getch();break;}
}
}
这个程序应该没有问题了,你可以运行尝试一下,顺便说一下哈,格式最好再清晰一点,这样别人也可以看得更清楚。
我也是刚刚开始学习,大家互相帮助哦!
[此贴子已经被作者于2006-3-1 22:16:06编辑过]