在命令行下输入*程序为什么不能正确识别

代码的功能:函数接受3个参数两个数字一个四则运算符,输出计算结果,列如输入3 + 5
输出3+5=15;函数加减除都能运算,为何输入* ( 乘)时程序不能正确识别,求各位大神解答:
代码如下

![主函数!(https://img-ask.csdn.net/upload/201504/01/1427890049_29127.png)`

fun函数`

运行结果`


是不是多输入了一个空格?

关键在于你输入是怎么接收方式,从截图也就能看出来乘法和其他输入格式上没对齐。差了一格。

貌似*号后面好像多了个空格,可以在switch之前对 b 做一个去空操作

应该是多打了一个空格,空格的ASCII码是0,所以运行调试行列会显示 23,a, 0。

同样遇到这个问题。在Windows下用gcc编译出的程序也不能正确处理字符*。