当前位置: 代码迷 >> C语言 >> (初学者)一个简单程序的疑问
  详细解决方案

(初学者)一个简单程序的疑问

热度:69   发布时间:2007-03-14 20:39:58.0
(初学者)一个简单程序的疑问
#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
----------------解决方案--------------------------------------------------------
  相关解决方案