| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 718 人关注过本帖
标题:为什么输出这个答案啊?帮忙解答一下啊!
只看楼主 加入收藏
惜缘
Rank: 1
等 级:新手上路
帖 子:32
专家分:4
注 册:2010-7-2
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:10 
为什么输出这个答案啊?帮忙解答一下啊!
#include<stdio.h>

int main()

{
    char a[20] = "How are you?", b[20];
    scanf("%s", b);
    printf("%s %s\n", a, b);
}
为什么输出的答案是: How are you? How

大家帮帮忙,解答一下,谢谢!
搜索更多相关主题的帖子: 答案 
2011-03-24 22:20
清水洗尘
Rank: 1
等 级:新手上路
帖 子:3
专家分:3
注 册:2011-1-22
收藏
得分:2 
a表示字符串“How are you?”,b代表你在scanf时输入的字符串,输出当然依次是a,b代表的字符串。
如果你输入x,则输出How are you? x
2011-03-24 22:25
御风牧雨
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:47
专家分:110
注 册:2011-3-20
收藏
得分:1 
因为scanf s% 读入的时候不把空格当做字符串中的一个字符,从而读入止于空格符...
你可以将scanf函数换成用gets函数

    scanf("%s", b);
换成
    gets(b);
即可。
2011-03-24 22:57
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:1 
你给b输入的是什么?
【scanf函数以空格TAB回车作为输入的结束标志! 】

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-03-24 23:18
lisanhu1
Rank: 2
等 级:论坛游民
帖 子:31
专家分:78
注 册:2010-6-24
收藏
得分:1 
你先定义了两个用来存储字符串的数组,然后初始化了一个为how are you又要输入第二个,好吧,最后你把两个一起输出来……
2011-03-25 03:40
platolgq
Rank: 2
来 自:江西
等 级:论坛游民
帖 子:74
专家分:87
注 册:2011-2-24
收藏
得分:1 
按照你的题意,数组a中的字符串是按原样输出的,至于b那得看你是给它输入的是什么字符串
你给b输入的是什么?

C种的自学者
2011-03-25 09:46
犹豫情人
Rank: 2
来 自:天津
等 级:论坛游民
帖 子:58
专家分:24
注 册:2010-7-1
收藏
得分:1 
scanf那有问题,如果要用scanf可以做一个循环,或者按3楼说的用gets。
2011-03-25 10:47
autumn1202
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:64
专家分:553
注 册:2011-2-21
收藏
得分:1 
楼主没说清楚b的输入,但是看题目应该3楼是对的
2011-03-25 10:56
我是传奇
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:88
专家分:109
注 册:2011-3-21
收藏
得分:1 
#include<stdio.h>

int main()

{
    char a[20] = "How are you?", b[20];
    scanf("%s", b);
    printf("%s %s\n", a, b);
}
输出为“How are you? 与 输入字符”
2011-03-25 22:20
zenglio
Rank: 2
等 级:论坛游民
帖 子:18
专家分:12
注 册:2010-11-3
收藏
得分:0 
过路
2011-03-25 23:18
快速回复:为什么输出这个答案啊?帮忙解答一下啊!
数据加载中...
 
   



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

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