不同点:
- scanf不能接受空格、制表符Tab、回车等;
- 而gets能够接受空格、制表符Tab和回车等;
- scanf :当遇到回车,空格和tab键会自动在字符串后面添加’\0’,回车,空格和tab键仍会留在输入的缓冲区中。
- gets:可接受回车键之前输入的所有字符,并用’\0’替代 ‘\n’.回车键不会留在输入缓冲区中。
# 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;
}
注:
- 如果前面使用过 gets()