从用户处获取字符串作为输入

  • 本文关键字:字符串 用户 获取 c
  • 更新时间 :
  • 英文 :


查看下面给出的代码

#include <stdio.h>
int main()
{
char str[20];
printf("Enter a string : ");
scanf("%s", str);
printf("String : %s", str);
return 0;
}

输出将是,

输入字符串:Hello world

字符串:Hello

我的问题是为什么它只需要第一个单词作为输入?

我的问题是为什么它只需要第一个单词作为输入?

因为这正是文档中所说的%s说明符应该做的:

任意数目的非空白字符,直到找到第一个空白字符为止。在存储序列的末尾自动添加一个终止null字符。

https://www.cplusplus.com/reference/cstdio/scanf/

您可以使用以下方法

方法1:

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

方法2:

fgets(str, MAX_LIMIT, stdin);

最新更新