我画线的地方标记了scanf没有直接运行,我目的是先输入一个数,然后输入运算符号,划线的scanf是输入运算符号的,但是为什么计算机直接跳过了呢?
%c
前面加个空格,即scanf(" %c", &c);
用来忽略输入的所有空白符
getchar();加在第六行后面试试
在每个最后不带\n的printf后面加fflush(stdout);
在每个不想受接收缓冲区旧内容影响的scanf前面加rewind(stdin);
另外请检查scanf的返回值。
//请今后要用
char c;
scanf("%c",&c);
//时,都改为
char s[2];
char c;
scanf("%1s",s);
c=s[0];
//自动跳过一个或多个空格或Tab字符或回车换行,读取下一个字符。