第1个回答 2014-03-06
把 scanf("%d %d",&a,&b); 改为
scanf("%d %d \n",&a,&b);
因为你多输入了一个回车,这个回车键会放在系统输入缓存中,被下一个 scanf 函数检测到
所以导致输入错误了
第2个回答 2014-03-06
#include"stdio.h"
int main(){
int a,b;
char Operator;
printf("please input two number:");
scanf("%d %d\n",&a,&b);//已改\不然operator会接收\n
printf("please input Operater(+ or -):");
scanf("%c",&Operator);
switch(Operator)
{case '+': printf("%d+%d=%d\n",a,b,a+b);break;
case '-': printf("%d-%d=%d\n",a,b,a-b);
break;default : printf("Input error\n");
}
return 0;
}
第3个回答 2014-03-06
#include"stdio.h"
int main()
{ int a,b;
char Operator;
printf("please input two number:");
scanf("%d %d",&a,&b);
getchar();//接受缓冲区回车!!!!!
printf("please input Operater(+ or -):");
scanf("%c",&Operator);
switch(Operator)
{case '+': printf("%d+%d=%d\n",a,b,a+b);break;
case '-': printf("%d-%d=%d\n",a,b,a-b);break;
default : printf("Input error\n");}return 0;}