c语言字符串输入梳理总结


前言

在学习c语言过程中,总是遇到字符串输入出错问题,今天学习完梳理一下。c语言输入主要是用scanf、gets、fgets、…等函数。


1、什么是字符串

字符串是以’\n’结尾的字符数组,定义字符串有字符串常量"hello world"、char类型数组char str[11]={“hello world”}、指向char的指针char *str=“hello world”。

2、输入函数

1.scanf

如果用scanf()把字符串读入字符数组中,不要使用&,读到空白(换行符、制表符、空格)时停止。

int main()
{
	char str[100] = { 0 };
	printf("please input words:");
	scanf("%s", str);
	printf("%s", str);
	return 0;

}

在这里插入图片描述

2.gets

gets()读取整行输入,直至遇到换行符,然后丢弃换行符,存储其余字符,并在这些字符的末尾添加一个空字符使其成为一个字符串。

int main()
{
	char str[100] = {0};
	printf("please input words:");
	gets(str);//遇到换行符会将缓冲区内的字符读出,并抛弃换行符
	puts(str);
	return 0;
}

在这里插入图片描述


3.fgets

fgets( char* _Buffer, int   _MaxCount, FILE* _Stream)

第一个参数为要写入的字符串变量,第二哥参数为读入字符的最大数量,第三个参数为要读入的文件,在输入字符串时,要写入的文件为stdin。
使用fputs输出时,将文件名改为stdout。
在使用fgets获取字符串时,若输入的字符小于MaxCount,则在字符串结尾写入换行符’\n’。若使用puts输出时,会将结尾的换行符一同输出。

int main()
{
	char str[size] = { 0 };
	printf("please input words:");
	fgets(str, size, stdin);//stdin  标准输入 读入的字符数为size-1
	puts("fputs输出的为:");
	fputs(str, stdout);
	puts("puts输出的为:");
	puts(str);              //而且fgets将换行符保存至字符串末尾
	return 0;
}

在这里插入图片描述

总结

以上就是对输入字符串函数的总结。

  • 10
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值