| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 735 人关注过本帖
标题:程序怎么了求解释
只看楼主 加入收藏
wsws23
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:105
专家分:107
注 册:2012-3-13
结帖率:81.82%
收藏
已结贴  问题点数:20 回复次数:11 
程序怎么了求解释
从键盘输入AhaMA Aha,为什么输出的是ahAMa而不是ahAMa ahA?
#include
main()
{
    char s[80],c='a';
    int i=0;
    scanf("%s",s);
    while(s[i]!='\0')
    {
        if(s[i]==c)s[i]=s[i]-32;
        else if(s[i]==c-32)s[i]=s[i]+32;
        i++;}
    puts(s);
}
搜索更多相关主题的帖子: 键盘 
2012-03-22 20:20
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:3 
因为你输入空格了

总有那身价贱的人给作业贴回复完整的代码
2012-03-22 20:40
wsws23
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:105
专家分:107
注 册:2012-3-13
收藏
得分:0 
什么意思啊
2012-03-23 19:35
天涯漫
Rank: 2
等 级:论坛游民
帖 子:31
专家分:57
注 册:2012-3-8
收藏
得分:3 
不对啊,如果你的输入有空格,运行时空格后的内容应该是没有的啊
使用scanf时 如遇到空格,回车,tab则该数据输入结束
2012-03-23 21:51
魏新建
Rank: 2
等 级:论坛游民
帖 子:55
专家分:86
注 册:2012-2-17
收藏
得分:3 
我也看不懂
2012-03-23 22:05
不哭5死神
Rank: 2
等 级:论坛游民
帖 子:42
专家分:74
注 册:2011-4-11
收藏
得分:3 
通常情况下。scanf函数中没有普通字符规定输入形式时,输入的多项数据之间以一个(或多个)空格、回车或Tap键分隔。也就是说ahAMa是一个字符串 ahA是一个字符串。
2012-03-23 22:25
星辰雁
Rank: 4
等 级:业余侠客
威 望:1
帖 子:93
专家分:275
注 册:2011-9-10
收藏
得分:3 
在数组中,空格也占数组中的空间,程序把空格认为成结束符"\0",所以就跳出循环了

不要认为CPU运算速度快就 把所有的问题都推给它去做,程序员应该将代码优化再优化,我们自己能做的决不要让CPU做 ,因为CPU是为用户服务的,不是为我们程序员服务的!
2012-03-23 22:50
马亚杰
Rank: 2
来 自:甘肃.天水
等 级:论坛游民
帖 子:38
专家分:43
注 册:2012-3-9
收藏
得分:3 
回复 7楼 星辰雁
好得很,我明白了.

喜欢电脑的疯子.
2012-03-23 22:57
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
7楼解释不对,建议上百度搜一下,关键字" scanf 空格",要学会利用搜索

总有那身价贱的人给作业贴回复完整的代码
2012-03-23 23:01
wsws23
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:105
专家分:107
注 册:2012-3-13
收藏
得分:0 
回复 9楼 embed_xuel
大家讨论一下啦
2012-03-24 18:21
快速回复:程序怎么了求解释
数据加载中...
 
   



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

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