在C语言中,有很多关于输入字符串的函数。在学习和使用C语言时,我们也无法避免需要输入字符串,因此本文是关于C语言中输入字符串的两个函数 gets() 和 scanf() 的。
功能:从标准输入流 stdin 中读取一行,并将其存储在缓冲区中。该行由第一个换行符 ('\n') 之前的所有字符组成。
注意:预留存储字符串的空间要足够大.
头文件:
#include<stdio.h>
代码示例:
#include<stdio.h>
int main()
{
char arr[20] = { 0 };
gets(arr);
printf("%s\n", arr);
return 0;
}
输入与输出:
hs sfgs jsf,fh
hs sfgs jsf,fh
功能:一般输入字符串、数组、整型...的函数(不多介绍啦)
注意:在使用scanf()函数输入字符串时,遇到空格,默认该字符串输入结束。
解决方案:输入字符串时将 %s 改为 %[^\n]s
头文件:
#include<stdio.h>
代码示例:
#include<stdio.h>
int main()
{
char arr[20] = { 0 };
scanf("%[^\n]s", &arr);
printf("%s\n", arr);
return 0;
}
输入与输出:
fhaa sjgf df
fhaa sjgf df
无论是scanf()函数,还是gets()函数,使用时都具有缺陷
这篇博客如果对你有帮助,给博主一个免费的点赞以示鼓励,欢迎各位🔎点赞👍评论收藏⭐️,谢谢!!! 如果有什么疑问或不同的见解,欢迎评论区留言哦。