1.getchar() & putchar() 函数
输入输出单个字符,可以识别并读入空格和换行符,不会终止。(等同于%c)
2.gets() & puts() 函数
char *gets(char *str);
gets() 函数就算输入的字符串中有空格也可以直接输入!
关于使用 gets() 函数需要注意:使用 gets() 时,系统会将最后“敲”的换行符从缓冲区中取出来,然后丢弃,所以缓冲区中不会遗留换行符。这就意味着,如果前面使用过 gets(),而后面又要从键盘给字符变量赋值的话就不需要吸收回车清空缓冲区了,因为缓冲区的回车已经被 gets() 取出来扔掉了。下面写一个程序验证一下:
# 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;
}
输出结果是:
请输入字符串:i love you
i love you
Y
ch = Y
我们看到,没有清空缓冲区照样可以输入'Y',因为 g