//清除键盘缓冲区:
scanf("%*[^\n]");
scanf("%*c");
但是,将两句合成下面一句时就不行了。
scanf("%*[^\n]%*c");
原因分析:
stdin 里面只有1个\n的时候
scanf("%*[^\n]%*c");
第一个格式控制字符串 不接受\n 直接返回 ,后面的 %*c直接失效.
而对于
scanf("%*[^\n]");//一样\n失败了 直接返回
scanf("%*c");//这时候 stdin里面是 \n %*c 发挥作用读取了 这个\n