楼主的代码有以下错误:
1,你已经用scanf获得了符号,为什么要加上c=getchar();?
2,如果代码为scanf("%d,%c,%d",&a,&b,&c);那么你输入的时候就要这么输入才有效:1,+,2 必须有逗号,不如写成scanf("%d%c%d",&a,&b,&c);这样在输入的时候只要输入1+2就可以了,不用多加逗号。
以下是我的代码,用dev-c++编译通过:
#include
main()
{
int a,c;
char b;
printf("请输入两个数字和运算符号:");
scanf("%d%c%d",&a,&b,&c);
if (b=='+')
printf("%d+%d=%d \n",a,c,a+c);
else if(b=='-')
printf("%d-%d=%d \n",a,c,a-c);
else if(b=='*')
printf("%d-%d=%d \n",a,c,a*c);
else if(b=='/')
printf("%d-%d=%d \n",a,c,a/c);
}