c语言中gets在子函数中如何用
的有关信息介绍如下:C语言中GETS函数的用法
我们经常使用scanf 和 %s来达成从键盘输入字符串的结果
但其实使用 gets() 函数从键盘输入字符串的方法比使用 scanf 和 %s更简单。
gets() 函数只有一个参数,该参数类型是 char* ,也就是说 str 既可以是一个字符指针变量名,也可以是一个字符数组名。
gets() 函数的功能是从缓冲区中读取字符串并存储到字符指针变量 str 所指向的内存空间。 其原型是: char *gets(char *string);
如以下程序的结果是:
请输入字符串:hello worldhello world
相比于scanf, gets() 函数会更简单简洁,并且gets()还可以输入带空格的字符串,而 scanf 一定要定义多个字符数组。
另外,gets()还可以用于初始化字符指针变量所指向的内存单元
如以下程序的结果是:
请输入字符串:hello... worldhello... world
缓冲区中不会遗留换行符
使用 gets()函数时,系统会自动将最后打出来的换行符从缓冲区中取出来丢弃
如以下程序的结果是:请输入字符串:hello world
hello world
Y ch = Y
因此如果前面使用的是其他函数而不是gets(),那么就必须先使用 getchar() 清空缓冲区然后再通过键盘给 ch 赋值
getchar()用法如下