c语言中gets在子函数中如何用

作者:小胖吴 | 创建时间: 2023-04-10
C语言中GETS函数的用法...
c语言中gets在子函数中如何用

操作方法

我们经常使用 scanf 和 %s来达成从键盘输入字符串的结果 但其实使用 gets() 函数从键盘输入字符串的方法比使用 scanf 和 %s更简单。 gets() 函数只有一个参数,该参数类型是 char* ,也就是说 str 既可以是一个字符指针变量名,也可以是一个字符数组名。

gets() 函数的功能是从缓冲区中读取字符串并存储到字符指针变量 str 所指向的内存空间。  其原型是: char *gets(char *string); 如以下程序的结果是: 请输入字符串:hello world hello world

相比于scanf, gets() 函数会更简单简洁,并且gets()还可以输入带空格的字符串,而 scanf 一定要定义多个字符数组。

另外, gets()还可以用于初始化字符指针变量所指向的内存单元 如以下程序的结果是: 请输入字符串:hello... worldhello... world

缓冲区中不会遗留换行符 使用 gets()函数时,系统会自动将最后打出来的换行符从缓冲区中取出来丢弃 如以下程序的结果是: 请输入字符串:hello world hello world Y ch = Y

因此如果前面使用的是其他函数而不是gets(),那么就必须先使用 getchar() 清空缓冲区然后再通过键盘给 ch 赋值 getchar()用法如下

点击展开全文

更多推荐