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)

你可能也喜欢

汽车驾驶座位怎么调整开车最合适?
beat365中文官网

汽车驾驶座位怎么调整开车最合适?

📅 07-28 👀 9502
岳飛北伐
beat365中文官网

岳飛北伐

📅 08-10 👀 4284
运动员受伤后用的喷雾是什么?有啥奇效?
beat365中文官网

运动员受伤后用的喷雾是什么?有啥奇效?

📅 07-10 👀 5223
哈啰出行单车收费标准
365bet官网地址

哈啰出行单车收费标准

📅 10-11 👀 7143
Montres Breguet
365bet官网地址

Montres Breguet

📅 08-04 👀 5840
手机如何正常看html文件
36500365体育在线投注

手机如何正常看html文件

📅 07-13 👀 2357