如果要读空格
```cpp
while(a[k] = getchar(), a[k] != '\n') k++;
```
如果没有空格只读一行
```cpp
scanf("%s", a + 1);
```
放弃吧gets吧,c++的制作人都放弃了(
by Nicoppa @ 2019-05-06 11:16:58
@[HaloCat](/space/show?uid=206319)
我知道scanf读到空格
好的,我把它放弃
by 寻旧 @ 2019-05-06 11:28:59
没事用getchar,防出锅利器。。
by SSerxhs @ 2019-05-06 12:32:01
为什么要用gets或getline?scanf支持一些正则表达式功能,比如如果要读字母、数字、空格但不读换行,可以
```cpp
scanf("%[0-9a-zA-Z ]",s);
```
(这里使用了几个字符集表示全体数字和字母,另外注意"]"前面的空格),
或者用
```cpp
scanf("%[^\n]",s);
```
,其中“^”表示取反,即除了"\n"之外都读入(小心其他奇怪的字符)
by WAutomaton @ 2019-05-06 15:35:39
@[自动WA掘机](/space/show?uid=184020)
%%%
大佬强
谢谢大佬~
by 寻旧 @ 2019-05-07 08:54:25
@[SSerxhs](/space/show?uid=29826)
谢谢大佬~
by 寻旧 @ 2019-05-07 08:54:38
@[HaloCat](/space/show?uid=206319)
大佬怎么办...
过不了哇
by 寻旧 @ 2019-05-07 09:06:23
下了个样例试了一下,
过了...
评测显示错误
by 寻旧 @ 2019-05-07 09:06:50
## 可能此题不读空格吧...
by 寻旧 @ 2019-05-07 09:16:00
@[WAutomaton](/space/show?uid=184020)
大佬您好,请问如果这样写
```cpp
scanf("%[0-9a-zA-Z ^\n], s);
```
正不正确,还有是不是这样输入就停不下来了qwq
还有为什么不写成`%s[0-9a-zA-Z ]`
谢谢,我很蒻
by wangyujun @ 2019-10-05 19:22:36