%c接受的是一个字符,那么你前面的输入一定是
2 3 +
这么写的,但是你3后面的那个空格被%c读取了,也就是说你的c是空格,所以一直走的default,不信的话printf(”%d“,c) 看看是不是等于32。
scanf("%d%d%c",&a,&b,&c);改为scanf("%d,%d,%c",&a,&b,&c);输入的时候用逗号分隔3个数
我不敢保证他能把 2和3分别赋值给ab,而不是把23赋值给a.
建议scanf里面三个变量隔开
0基础学C语言:https://edu.csdn.net/course/detail/2766