scanf输入字符串空格问题+获取带空格的字符串

1. 问题描述: 

     获取用户的输入时,我们小白的第一反应是scanf,scanf函数能够输入的函数有很多,比如int,double,float,char...,  但当用它来实现含有空格的字符串输入时,例如:“hello word!”时,它总是在空格处停止扫描。

     我们用scanf("%s",str);输入 “hello word!” 字符串后,str输出却只有 “hello” ,这并不是我们想要的。这是因为scanf扫描到 “hello” 后面的空格,就认为对str的扫描结束(即空格没有被扫描),并舍弃后面的"  word!",只得到了 “hello” 。

#include<stdio.h>
int main()
{
    char msg[15];
    printf("请输入字符串:");
    scanf("%s",msg);
    printf("字符串为:%s",msg);
    return 0;
}

 运行结果跟理想不合

2. 解决办法

  在这里给出了两种解决

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值