C语言如何输入带空格的字符串?

C语言如何输入带空格的字符串?

两种方法

方法一方法二2022/11/16 补充

方法一

使用stdio函数库提供的char函数,这里我们在MSDN离线版上学习一下其用法

可以看到,gets()用于从标准输入流读入一个整行(以’\n’或EOF)结束,写入ptr指向的字符数组,并返回这个指针;出错或遇到文件结束时则返回NULL。行末的’\n’从流中取出,但不写入数组。gets()不检查被写入的数组大小。

所以我们可以很容易写出如下代码:

#include

int main()

{

char str[25] = { 0 };

gets(str);

printf("%s\n", str);

return 0;

}

实现后:

方法二

这里使用一个scanf函数提供的“%[]”格式来输入,这个格式可以让我们进行多字符的输入,同时决定输入结束的字符,只需要使用**^+我们需要停止的字符**下面为大家实际操作一波:

#include

int main()

{

char str[25] = { 0 };

scanf("%[^\n]", str);

printf("%s\n", str);

return 0;

}

实现后:

我们甚至可以凭借%[ ^EOF ]来控制字符串的持续输入

如果对你有帮助的话,动动小手点个赞可以嘛,谢过各位啦~

2022/11/16 补充

我前天面试栽在这儿了,一个acm模式的题目,接口我写的出来,但是却没法输入一个带空格的字符串,实在荒唐(我巨想去的公司和部门);现在做c++的补充并整体做常规总结,希望兄弟们别犯和我一样的蠢错,这些简单的问题实在不应该出错,并且作为一个C程序员,这些是非常基本必须掌握的。

C语言

可以使用gets,但是gets不限制写入大小,非常不安全,不使用

sranf+正则格式 scanf(“%[^\n]”,str)

fgets:fgets(str,sizeof(str),stdin)

C++

字符串string类型对象,使用getline(cin,string)

字符数组类型,使用cin.get(str,str_size)

相关推荐

Intel酷睿i3-4130处理器怎么样?测评Intel酷睿i3-4130 CPU处理器
冰箱两侧发烫正常吗?详细描述及解决方法
365体育亚洲官方入口app下载

冰箱两侧发烫正常吗?详细描述及解决方法

📅 07-05 👁️ 250
华为智能手环怎么充电
bt365手机官方网址

华为智能手环怎么充电

📅 07-11 👁️ 8810
WIN10卸载搜狗后语言栏仍有残留解决方案
365体育亚洲官方入口app下载

WIN10卸载搜狗后语言栏仍有残留解决方案

📅 07-16 👁️ 6924
Linux shell脚本的编写和运行(附带实例)
bt365手机官方网址

Linux shell脚本的编写和运行(附带实例)

📅 06-27 👁️ 4877
Flash CS6视频教程
365bet.com官网

Flash CS6视频教程

📅 07-11 👁️ 8232