| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1141 人关注过本帖
标题:求教C中getchar及for的问题
只看楼主 加入收藏
chenzj0705
Rank: 1
来 自:福建泉州
等 级:新手上路
帖 子:5
专家分:2
注 册:2011-3-25
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:12 
求教C中getchar及for的问题
输入12345#后,写出下列程序的输出结果。
    void main()
    {      char c;
           for(c=getchar(); getchar()!=’#’; c=getchar())
           putchar(c);
    }
搜索更多相关主题的帖子: void 
2011-03-26 15:09
安然之风
Rank: 2
等 级:论坛游民
帖 子:43
专家分:23
注 册:2011-1-6
收藏
得分:4 
getchar()是输入一个字符,而不是字符串。
所以这样写是输不出12345#;只能输出最前一个字符,也就是1  
2011-03-26 16:04
z8869113
Rank: 2
等 级:论坛游民
帖 子:44
专家分:14
注 册:2010-12-14
收藏
得分:4 
按你所说输出的是13.
就是1先给c 然后2给第二个getchar去判断 接下来输出c(就是1)  然后3给c  4拿去做判断了  然后就把c(就是3)输出 然后5给了c   #就结束了 #include<stdio.h>  
void main()
    {      char c;
           for(c=getchar(); c!='#'; c=getchar())
           putchar(c);
    }改成这样应该就是你想要的结果了

[ 本帖最后由 z8869113 于 2011-3-26 19:20 编辑 ]
2011-03-26 16:06
chenzj0705
Rank: 1
来 自:福建泉州
等 级:新手上路
帖 子:5
专家分:2
注 册:2011-3-25
收藏
得分:0 
回复 楼主 chenzj0705
输出的结果是13,请教为何,不胜感激,谢谢!
2011-03-26 18:30
chenzj0705
Rank: 1
来 自:福建泉州
等 级:新手上路
帖 子:5
专家分:2
注 册:2011-3-25
收藏
得分:0 
回复 3楼 z8869113
      谢谢您的解答,但是我还是想弄清楚到底为什么是13
2011-03-26 18:34
minand
Rank: 2
等 级:论坛游民
帖 子:71
专家分:89
注 册:2011-3-16
收藏
得分:4 
我的结果是12345
2011-03-26 18:41
御风牧雨
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:47
专家分:110
注 册:2011-3-20
收藏
得分:4 
for(c=getchar(); getchar()!=’#’; c=getchar())
           putchar(c);

第一次:c=getchar()读取字符'1',c=‘1’,getchar()!=’#’读取下一字符'2'并判断其是否不为’#’,结果为真,进入循环,输出 c 即'1',
        然后第二个c=getchar()读取下一字符‘3’,c=‘3’。
第二次:getchar()!=’#’读取下一字符'4'并判断其是否不为’#’,结果为真,进入循环,输出 c 即'3'
        然后第二个c=getchar()读取下一字符‘5’,c=‘5’。
第三次:getchar()!=’#’读取下一字符'#'并判断其是否不为’#’,结果为假,跳出循环。

综上,最后输出结果为 13


[ 本帖最后由 御风牧雨 于 2011-3-26 18:46 编辑 ]
2011-03-26 18:44
chenzj0705
Rank: 1
来 自:福建泉州
等 级:新手上路
帖 子:5
专家分:2
注 册:2011-3-25
收藏
得分:0 
回复 7楼 御风牧雨
       感谢楼主的解答,回答的很精彩,小人跪谢了!
2011-03-26 18:59
御风牧雨
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:47
专家分:110
注 册:2011-3-20
收藏
得分:0 
额...不客气,不过,貌似你才是楼主啊...呵呵!...

   
楼主,在台湾地区叫做“版大”。就是在论坛里发贴的人,某人在这个帖子里,他就是楼主。其发的这个帖子叫“主题帖”,简称“主帖”,大家写在后面的回复叫“跟帖”。当回帖逐渐增多的时候,就好像盖起来一座楼一样。他在楼的最上面,并且是该顶楼的所有者(即发帖人),当然叫楼主喽。

以上转自百度百科...
2011-03-26 19:05
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:4 
贴出我的结果。
root@~ #./4
1234#  //输入,按#结束
13##    //13#是输出的,后面的#是输入的,后面的都是输入的,一阵莫名其妙以后, 程序返回到提示符。
##
##
#



#
root@~ #

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-03-26 20:46
快速回复:求教C中getchar及for的问题
数据加载中...
 
   



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

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