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为对应字符串数组名。

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

相关推荐
垆边人似月.6 小时前
华为机考题:最小代价爬楼梯
c语言·c++
可涵不会debug6 小时前
C++ std::bind 实战教程:线程池、回调场景全覆盖
linux·开发语言·c++
不正经的码狗6 小时前
Java 开发环境搭建与 Eclipse 使用速通教程
java·开发语言·eclipse
阿钱真强道7 小时前
24 嵌入式操作系统 | 项目启动与环境准备(PyQt5 / Flask 两个“最小可跑“)
开发语言·qt·flask·架构设计·协议契约
霸道流氓气质7 小时前
AI模型幻觉检测与抑制完全指南:从规则引擎到RAG对比的Java生产级实战
java·开发语言·人工智能
前端 贾公子7 小时前
LangChain核心组件 == 提示词(Prompts)
开发语言·c#
niucloud-admin7 小时前
JAVA V6 多商户商城 开发文档——手机端前端
java·开发语言·前端
茉莉玫瑰花茶7 小时前
GO [ 并发 ]
开发语言·后端·golang
霸道流氓气质7 小时前
Dify 可视化 LLM 应用开发平台完全指南:从Workflow编排到Java生产级集成实战
java·开发语言
垆边人似月.7 小时前
华为机考题:二叉树的最大路径和
c语言·c++