scanf 不能用来一次性输入空格,和回车,而且,你下次再输入别的,缓冲区还会存有上回,你结束输入的回车,这样你下次输入就直接return 0了呵呵呵。
# include <stdio.h>
int main(void)
{
char str[30];
char ch;
printf("请输入字符串:");
scanf("%s",str);
printf("%s\n", str);
scanf("%c", &ch);
printf("ch = %c\n", ch);
return 0;
}
但是改成gets,缓冲区的回车你也不需要用getchar吸收了,你也可以直接输入空格和回车之类的。
# include <stdio.h>
int main(void)
{
char str[30];
char ch;
printf("请输入字符串:");
gets(str);
printf("%s\n", str);
scanf("%c", &ch);
printf("ch = %c\n", ch);
return 0;
}