标题:这个问题没想明白,大家帮帮忙
只看楼主
胡胡熊
Rank: 1
等 级:新手上路
帖 子:23
专家分:5
注 册:2014-3-13
结帖率:77.78%
 问题点数:0 回复次数:2 
这个问题没想明白,大家帮帮忙
    char string1[20], string2[]="Hello world";

    printf("Enter a string:");    // 输入Hello world
    scanf("%s",string1);

    printf("string1 is:%s\n",string1);
    printf("string2 is:%s\n",string2);

输出结果:   
    string1 is Hello
    string2 is Hello world

为什么string2可以输出Hello world,而string1只能输出到Hello呢???
Thank you in advance!
搜索更多相关主题的帖子: Enter Thank world 
2014-03-13 15:08
ljx小子
Rank: 8Rank: 8
来 自:星星
等 级:蝙蝠侠
威 望:2
帖 子:222
专家分:916
注 册:2013-10-7
得分:0 
使用%s格式控制来输入字符串时,字符串中的空格和转义字符会被当成结束标记的。。。。所以string1中只保存了hello

。。。。。。。。。。。
2014-03-13 15:50
zhu_zhi
Rank: 2
来 自:广西百色
等 级:论坛游民
帖 子:129
专家分:92
注 册:2013-4-25
得分:0 
回复 楼主 胡胡熊
把scanf()函数改为gets()函数就OK了。
即:gets(string1);
2014-03-13 16:06



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-428456-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.557619 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved