C语言调用一个程序后无法执行输入操作(意思是有段代码直接跳过了),这是为什么?

编译没有错,但是int num; scanf("pause");这段代码无法执行,意思是直接跳过这段代码了
menu里面内容就是显示的,没问题就是int num; scanf("pause");到switch这段被跳过了,直接跳到system("pause");这里了

在int num;下面加一句 fflush(stdin);//清空缓冲区
因为你前面用了scanf还剩了一个回车,被int num;下面那个scanf捕获到了,所就就跳过scanf
进而也就跳过了switch,如果你在switch里加一句 default:printf("scanf");break;

看看会不会打印出
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-10-17
用编译器自带的调试器 给跳过前代码加上断点 调试下
相似回答