gets函数的用法

2025-09-26 04:50:11

1、gets函数原型为:

        char *gets(char *str);

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

gets函数的用法

2、gets函数功能:

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

gets函数的用法

3、gets函数举例 1:

# include <stdio.h>

 

int main(void)

 

{

 

    char str[40];

   //一定要先将指针变量初始化

    char *string = string_1; 

 

    printf("请输入字符串:");

 

    gets(string);  //也可以写成gets(string);

 

    printf("%s\n", string); 

 

    system("pause");

 

    return 0;

 

}

在这个例子中,我们向控制台输入了字符串“hello world !”,然后按回车结束输入。这里可以直接输入空格,不会被截断。而scanf函数会因空格、回车而截断。

【注意】,这里gets函数会取出最后按下的换行符并丢弃。

gets函数的用法

4、gets函数举例 2:

# include <stdio.h>

 

int main(void)

 

{

 

    char str[30];

 

    char ch;

 

    printf("[1]请输入字符串:");

 

    gets(str);

 

    printf("%s\n", str);

 

    printf("[2]请输入一个字符:");

 

    scanf("%c", &ch);

 

    printf("ch = %c\n", ch);

 

    system("pause");

 

    return 0;

 

}

这里演示使用gets函数进行输入缓冲区读取会把换行符丢弃,后面使用scanf函数不需要使用getchar函数清空缓冲区。

gets函数的用法

5、scanf函数举例 3:

# include <stdio.h>

 

int main(void)

 

{

 

    char str[30];

 

    char ch;

 

    printf("[1]请输入字符串:");

 

    scanf("%s",&str);

 

    printf("%s\n", str);

 

    printf("[2]请输入一个字符:");

 

    //getchar();

 

    scanf("%c", &ch);

 

    printf("ch = %c\n", ch);

 

    system("pause");

 

    return 0;

 

}

这里演示使用scanf函数进行读取输入缓冲区,并不会丢弃换行符,再次输入需要使用getchar函数清空换行符,否则会直接将换行符赋予ch变量

gets函数的用法

6、scanf函数举例 3:

# include <stdio.h>

 

int main(void)

 

{

 

    char str[30];

 

    char ch;

 

    printf("[1]请输入字符串:");

 

    scanf("%s",&str);

 

    printf("%s\n", str);

 

    printf("[2]请输入一个字符:");

 

    getchar();

 

    scanf("%c", &ch);

 

    printf("ch = %c\n", ch);

 

    system("pause");

 

    return 0;

 

}

这里演示如何使用getchar清除scanf函数残留的换行符

gets函数的用法

1、gets和scanf函数都是从输入缓冲区读取字符串到变量指向的内存空间

两者区别:

1、gets函数能读取空格,而scanf函数不能读取空格,需要多个变量赋值

2、gets函数会将缓冲区中的换行符取出丢弃,而scanf函数需要使用getchar函数来清除

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢