【若连续使用两个scanf,会把第一行后的回车读入第二个scanf】
如:
scanf("%s",str);
scanf("%c",&ch); //此时储存于&ch中的是换行符
解决方案:
①
scanf("%s",str);
scanf(" %c",&ch); //%c前加一个空格
②
scanf("%s\n",str); //加入\n吸纳键盘输入的回车
scanf("%c",&ch);
③
scanf("%s",str);
getchar(); //吸纳键盘输入的回车
scanf("%c",&ch);
④
gets(str); //改用gets输入(不会读入换行符)
scanf("%c",&ch);
⑤
gets(str);
ch=getchar(); //不用scanf
//输出
puts(str);
putchar(ch);
return 0;
}