C语言中用scanf("%c",&ch);程序会出错,如果scanf(" %c",&ch);在%c...
发布网友
发布时间:2024-05-02 02:18
我来回答
共1个回答
热心网友
时间:2024-06-25 02:10
清空输入缓冲区。
如果经常出现情况这种的话,第一次输入的回车可能会被第二次输入操作所捕捉,这个的作用就是清空缓冲,这样就不会出现这种情况了。
控制串中的空白符使 scanf() 在输入流中跳过一个或多个空白行。空白符可以是空格(space)、制表符(tab)和新行符(newline)。 本质上,控制串中的空白符使 scanf() 在输入流中读,但不保存结果,直到发现非空白字符为止。
这是百度里关于fflush(stdin)的说明:
http://baike.baidu.com/link?url=ArRVBbbx-82XXxPyMZTh2bu_YIAWdwR9s06FeUIv7th9rDenCeqNxsybFI2SwDir46dZljOiGAt1CR8uTJUESq
SCANF的用法:
http://wenku.baidu.com/link?url=bT8Dg6zhA_r094Htf4pLwr25kdOb3bD8-64r5O3qz7uIb4vpYwtdnmAKAN_RefFziTaXldI7hqNbNF0lk-q0qv334OX7tLggXJ5BbpLYABu