C语言中字符串输入的3种方式

Ⅰ gets() 函数

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

复制代码
# include <stdio.h>
int main(void)
{
	char a[256] = {0};
	gets(a);
	printf("%s",a);
    return 0;
}

getchar()

复制代码
# include <stdio.h>
int main(void)
{
	int i=0;
	int j;
	char ch;
	char a[256] = {0};
	while((ch=getchar())!='\n')//一直接收缓冲区的字符。直至收到回车
	{
	   	a[i]=ch;
	   	i++;
	}
	a[i]='\0';    //加上串尾符
	for(j=0;j<i;j++)
	{
		printf("%c",a[j]);
	}
    return 0;
}

Ⅲ scanf()

复制代码
# include <stdio.h>
int main(void)
{
	char a[256];
	scanf("%s",&a);
	printf("%s",a);
    return 0;
}

注意:

在使用scanf函数进行字符串输入时,可以设置最大输入长度,来避免出现字符串溢出报错。语法如下所示:

scanf("%7s",string)//其中string为对应字符串数组名。

Ⅳ 几个输入输出字符串的比较

相关推荐
晓蛋7 小时前
c语言指的是什么意思
c语言·编译器·编程开发·集成开发环境·程序实例
小羊没烦恼!7 小时前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
傲世仙尊7 小时前
目录即文件-Ext文件系统收尾篇
linux·c语言
牵猫散步的鱼儿8 小时前
重载、重写(覆盖)、重定义区别
c语言
伞伞悦读8 小时前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
phltxy8 小时前
C 语言指针:从内存地址到灵活的数据访问
c语言
C语言小火车9 小时前
C/C++ 为什么需要编译器?
开发语言·c++
phltxy9 小时前
C 语言中的数据存储:从类型到二进制位
c语言
霍霍的袁10 小时前
【C++】map 和 set 的使用 | 从用法到底层
开发语言·c++·学习·visual studio
孙启超10 小时前
【AI开发之Rust】第 11 课:智能指针与内部可变性
开发语言·后端·rust