C语言/gets()函数和scanf()函数关于字符串的输入

提示:本文是关于C语言字符串输入的两个函数的介绍

文章目录

  • 前言
  • 一、gets()函数
  • 二、scanf()函数
  • 总结

前言

在C语言中,有很多关于输入字符串的函数。在学习和使用C语言时,我们也无法避免需要输入字符串,因此本文是关于C语言中输入字符串的两个函数 gets() 和 scanf() 的。

一、gets()函数

功能:从标准输入流 stdin 中读取一行,并将其存储在缓冲区中。该行由第一个换行符 ('\n') 之前的所有字符组成。

注意:预留存储字符串的空间要足够大.

头文件:

#include

代码示例:

#include

int main()
{
	char arr[20] = { 0 };
	gets(arr);
	printf("%s\n", arr);

	return 0;
}

输入与输出:

hs sfgs jsf,fh
hs sfgs jsf,fh

二、scanf()函数

功能:一般输入字符串、数组、整型...的函数(不多介绍啦)

注意:在使用scanf()函数输入字符串时,遇到空格,默认该字符串输入结束。

解决方案:输入字符串时将 %s 改为 %[^\n]s 

头文件:

#include

代码示例:

#include

int main()
{
	char arr[20] = { 0 };
	scanf("%[^\n]s", &arr);
	printf("%s\n", arr);

	return 0;
}

输入与输出:

fhaa sjgf df
fhaa sjgf df


总结

无论是scanf()函数,还是gets()函数,使用时都具有缺陷

这篇博客如果对你有帮助,给博主一个免费的点赞以示鼓励,欢迎各位点赞评论收藏⭐️,谢谢!!!
如果有什么疑问或不同的见解,欢迎评论区留言哦。

你可能感兴趣的:(C/C++,c语言,开发语言)