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

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

相关推荐
方也_arkling3 分钟前
【Java-Day19】集合1(Collect单列集合)
java·开发语言
Xin_ye1008610 分钟前
C# 零基础到精通教程 - WPF 专题三:高级控件与自定义控件
开发语言·c#·wpf
SoftLipaRZC16 分钟前
C语言自定义类型:结构体完全指南
c语言·开发语言
方也_arkling17 分钟前
【Java-Day19】集合3 List中常见的方法和5种遍历方式
java·开发语言
AI玫瑰助手22 分钟前
Python函数:局部变量与全局变量的作用域
开发语言·python·信息可视化
字节高级特工30 分钟前
C++11(二) 革新:引用折叠与lambda表达式
java·开发语言·c++·算法
萨小耶30 分钟前
[Java学习日记11】聊聊深拷贝和浅拷贝
java·开发语言·学习
xiaoshuaishuai832 分钟前
C# AvaloniaUI‌的IValueConverter
开发语言·c#
白驹笙鸣1 小时前
STL allocator作用
开发语言·c++
小小编程路1 小时前
C++ STL 原理与性能
开发语言·c++