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

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

相关推荐
ESDWAN6 分钟前
跨境网络频繁掉线怎么排查?从企业内网到 SD-WAN 链路的故障诊断
开发语言·网络·php
程序员zgh23 分钟前
C++ erase() 函数用法
c语言·开发语言·c++·学习
lee_tianbai38 分钟前
Java SSM 电影票预定系统|完整前后端项目,开箱即用(源码分享)
java·开发语言·数据库
迪丽热爱1 小时前
一、C语言概述与程序结构
c语言·开发语言·算法
HUIBUR科技2 小时前
AI中枢:打破数据孤岛与流程孤岛双重困境
开发语言·ai
鱼宵2 小时前
LangChain4j 结构化输出:让模型吐出 Java 对象,JSON 不再手写解析
java·开发语言·json·langchain4j
w2sfot2 小时前
【JS加密在线】jsjiami.online(让JavaScript 更安全!)
开发语言·javascript·安全
Wang's Blog2 小时前
Java 项目部署之 Docker工具快速入门: Docker 是什么以及它如何解决部署环境问题
java·开发语言·docker
老木避暑研究所2 小时前
从原始数据到洞察:一次完整的避暑房环境数据采集、清洗与可视化分析
java·开发语言