(初学者)一个简单程序的疑问
#include "stdio.h"main()
{ float a,b;
char optor;
printf("input values of a,b:");
scanf("%f%f",&a,&b);
getchar();
printf("enter operator");
scanf("%c",&optor);
switch(optor)
{
case '+':printf("%f+%f=%f\n",a,b,a+b);
break;
case '-':printf("%f-%f=%f\n",a,b,a-b);
break;
case '*':printf("%f*%f=%f\n",a,b,a*b);
break;
case '/':if(b==0)printf("divided by 0!\n");
else printf("%f/%f=%f\n",a,b,a/b);
break;
default:printf("input error");
}
}
这个程序中的getchar();是干什么用的啊~!~为什么不要不可以啊~!我知道这是字符输入数~!
谢谢解答~!`
搜索更多相关的解决方案:
疑问
----------------解决方案--------------------------------------------------------
吃回车
----------------解决方案--------------------------------------------------------
那scanf("%c",&optor);下面没什么不要一个吃回车???
这里不用回车程序就不能往下走~!
----------------解决方案--------------------------------------------------------
因为第一个scanf之后有个输入字符的scanf,他就将第一次输入时的回车作为第二个的输入. 但第二个scanf之后没有输入字符的地方,所以不用吃那个回车.
----------------解决方案--------------------------------------------------------
还是不太明白~~!`能不能说得清楚点啊~!
是不是就说如果程序有多个scanf那几面几个后面都要跟getchar();而最后一个不要跟呢《???
谢谢解答~!
----------------解决方案--------------------------------------------------------
基本上scanf后有再次输入字符时都应该加getchar吧.
----------------解决方案--------------------------------------------------------
好的~!刚刚在论坛看了一个类似的贴子
明白了不少~!
谢谢~!~mayudong1
----------------解决方案--------------------------------------------------------