首页 > 解决方案 > 从用户获取字符串作为输入

问题描述

看看下面给出的代码

#include <stdio.h>

int main()
{
    char str[20];
    printf("Enter a string : ");
    scanf("%s", str);
    printf("String : %s", str);
    return 0;
}

输出将是,

输入一个字符串:你好世界

字符串:你好

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

标签: c

解决方案


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

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

任意数量的非空白字符,在找到的第一个空白字符处停止。终止的空字符会自动添加到存储序列的末尾。

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


推荐阅读