gets函数的用法
来源:网络收集 点击: 时间:2024-03-11gets函数原型为:
char *gets(char *str);
这个函数只有一个参数。参数类型为 char* 型字符指针,也可以是一个一维数组首地址。

gets函数功能:
从输入缓冲区中读取一个字符串存储到字符指针变量 str 所指向的内存空间。

gets函数举例 1:
# include stdio.hint main(void){ char str;
//一定要先将指针变量初始化
char *string = string_1; printf(请输入字符串:); gets(string); //也可以写成gets(string); 暗秤printf(%s\n, string); system(pause); return 0;}
在这个例子中,我们向控制台输入了字符串“hello world !”,然后按回车结束输入。这里可以直接输入空格,不会被截断。而scanf函数会因空格、回车而截断。
【注意】,这里gets函数会取出最后按下的换行符并丢弃。

gets函数举例 2:
# include stdio.hint main(void){ char str; char ch; printf(请输入字符串:); gets(str); printf(%s\n, str); printf(请输入一个字符:); scanf(%c, ch); printf(ch = %c\n, ch); system(pause); return 0;}
这里演示使用gets函数进行输入缓冲区财常霸读取会把换行符丢弃,后面使用scanf函数不需要使用getchar函数清空缓冲区。

scanf函数举例 3:
# include stdio.hint main(void){ char str; char ch; printf(请输入字符串:); scanf(%s,str); printf(%s\n, str); printf(请输入一个字符:); //getchar(); scanf(%c, ch); printf(ch = %c\n, ch); system(pause); return 0;}
这里演示使用scanf函数进行读取输入缓冲亲泥区,并不会丢弃换行符,再次输入需要使用getchar函数清空换行符,否则会直接将换行符赋予ch变量

scanf函数举例 3:
# include stdio.hint main(void){ char str; char ch; printf(请输入字符串:); scanf(%s,str); printf(%s\n, str); printf(请输入一个字符:); getchar(); scanf(%c, ch); printf(ch = %c\n, ch); system(pause); return 0;}
这里演示如何使用getchar清除scanf函数残留的换行符

gets和scanf函数都是从输入缓冲区读取字符串到变量指向的内存空间
两者区别:
1、gets函数能读取空格,而scanf函数不能读取空格,需要多个变量赋值
2、gets函数会将缓冲区中的换行符取出丢弃,而scanf函数需要使用getchar函数来清除
注意事项多实践,多写代码
注意对比相似函数,了解其异同和优缺点
编程GETS函数版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_320032.html