| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 372 人关注过本帖
标题:这个问题没想明白,大家帮帮忙
只看楼主 加入收藏
胡胡熊
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
快速回复:这个问题没想明白,大家帮帮忙
数据加载中...
 
   



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

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