当前位置: 代码迷 >> C语言 >> [求助]空格应该也是字符常量吧,为什么我这样输入会把空格滤去啊?
  详细解决方案

[求助]空格应该也是字符常量吧,为什么我这样输入会把空格滤去啊?

热度:230   发布时间:2006-07-02 15:36:33.0
[求助]空格应该也是字符常量吧,为什么我这样输入会把空格滤去啊?

#include<iostream>
#include<iomanip>
using namespace std;

void main()
{
double leftoperand,rightoperand,result;
char operate;
cout<<"please input leftoperand operate rightoperand:"<<endl;
cin>>leftoperand>>operate>>rightoperand;
switch(operate)
{

case '+':


result=leftoperand+rightoperand;

break;

case '-':

result=leftoperand-rightoperand;

break;
case '*':
result=leftoperand*rightoperand;

break;
case '/':



if(rightoperand)

{result=leftoperand/rightoperand;

break;
}


else

{ cout<<"illegal operate input:"<<endl;
break;
}





}
cout<<leftoperand<<operate<<rightoperand<<"equals"<<result<<endl;





程序是正确的....只是我还有些疑问


如果我输入5+6回车 结果是:5+6equals11
可是如果我输入5空格+空格6回车 这样结果还是:5+6equals11
照理上面定义了operate是字符变量...应该把空格辅值给operate的啊!!!
求教!
}

搜索更多相关的解决方案: 常量  空格  字符  输入  

----------------解决方案--------------------------------------------------------
自己编个短程序试一下,就会发现
cin >> 字符变量

scanf("%c",&字符变量)
到底有何微妙区别了

----------------解决方案--------------------------------------------------------
试了一下发现scanf是会把空格读进来的,而cin不会...
----------------解决方案--------------------------------------------------------
  相关解决方案