c语言中的gets函数的详细用法是怎样的
gets()函数用来从标准输入设备(键盘)读取字符串直到换行符结束,但换行符会被丢弃,然后在末尾添加'\0'字符。其调用格式为:
gets(s);
其中s为字符串变量(字符串数组名或字符串指针)。
c语言gets函数能输入多组数据吗
1、gets() 函数是从键盘输入字符串,该函数只有一个参数。参数类型为 char* 型,即 str 可以是一个字符指针变量名,也可以是一个字符数组名。打开编辑器,新建一个c语言文件,引入标准库并新建主函数:
2、gets() 函数的功能是从输入缓冲区中读取一个字符串存储到字符指针变量 str 所指向的内存空间,这里的程序是用gets函数输入字符串,可以看到不像scanf那样需要使用%号,gets函数中直接传入字符串即可:
3、最后运行下程序,输入“i love you”,可以看到gets函数可以直接输出空格,而scanf函数输出空格则需要使用转义字符实现,因此gets函数的使用要比scanf简洁的多。以上就是gets函数使用方法的演示:
gets_s函数的使用方法
1、gets函数原型为:char *gets(char *str);
这个函数只有一个参数。参数类型为 char* 型字符指针,也可以是一个一维数组首地址。
2、gets函数功能:
从输入缓冲区中读取一个字符串存储到字符指针变量 str 所指向的内存空间。
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函数会取出最后按下的换行符并丢弃。
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函数清空缓冲区。