您的位置:首页>互联网 >内容

gets函数一次可以多取几个字符(gets函数的用法)

2022-09-04 18:45:05来源:
导读每日小编都会为大家带来一些知识类的文章,那么今天小编为大家带来的是gets函数的用法方面的消息知识,那么如果各位小伙伴感兴趣的话可以

每日小编都会为大家带来一些知识类的文章,那么今天小编为大家带来的是gets函数的用法方面的消息知识,那么如果各位小伙伴感兴趣的话可以,认真的查阅一下下面的内容哦。

gets函数原型为:        char *gets(char *str);这个函数只有一个参数。参数类型为 char* 型字符指针,也可以是一个一维数组首地址。 

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

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

gets函数举例 2:# include  int main(void) {     char str[30];     char ch;     printf("[1]请输入字符串:");     gets(str);     printf("%sn", str);     printf("[2]请输入一个字符:");     scanf("%c", &ch);     printf("ch = %cn", ch);     system("pause");     return 0; }这里演示使用gets函数进行输入缓冲区读取会把换行符丢弃,后面使用scanf函数不需要使用getchar函数清空缓冲区。 

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

scanf函数举例 3:# include  int main(void) {     char str[30];     char ch;     printf("[1]请输入字符串:");     scanf("%s",&str);     printf("%sn", str);     printf("[2]请输入一个字符:");     getchar();     scanf("%c", &ch);     printf("ch = %cn", ch);     system("pause");     return 0; }这里演示如何使用getchar清除scanf函数残留的换行符 

总结

gets和scanf函数都是从输入缓冲区读取字符串到变量指向的内存空间两者区别:1、gets函数能读取空格,而scanf函数不能读取空格,需要多个变量赋值2、gets函数会将缓冲区中的换行符取出丢弃,而scanf函数需要使用getchar函数来清除

本文到此结束,希望对大家有所帮助。

免责声明:本文由用户上传,如有侵权请联系删除!

猜你喜欢

最新文章