| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 376 人关注过本帖
标题:循环的问题,
只看楼主 加入收藏
何少仪
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:91
专家分:170
注 册:2010-3-6
结帖率:94.44%
收藏
已结贴  问题点数:20 回复次数:5 
循环的问题,
main()
{
char response;
int guess=1;
while((response=getchar())!='y')
{
if(response=='n')
printf("well,is it %d?\n",++guess);
else
 printf("sorry\n");
while(getchar()!='\n')
continue;
putchar(response);
printf("\n");
}
getch();
return 0;
}


第二个while 循环是怎没终止输入行的其余部分,如果是换行符,怎么终止呢
搜索更多相关主题的帖子: guess 问题 continue return 换行符 
2010-03-23 16:13
mywaylgh
Rank: 8Rank: 8
来 自:厨房
等 级:蝙蝠侠
威 望:5
帖 子:188
专家分:729
注 册:2010-3-10
收藏
得分:5 
getchar()!='\n' 

换行符时,不符合条件就终止了

人生就像茶几 上面放着许多杯具

人生也像厨房 里面总有一些洗具
2010-03-23 16:16
何少仪
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:91
专家分:170
注 册:2010-3-6
收藏
得分:0 
回复 2楼 mywaylgh
如果输入 no 【回车】 ;第三个字符即 【回车】 不能进入第二个循环,应该进入第一个循环,continue其实也是多余的,可谓神魔没有进入呢。

[b] 你要有勇气去听从你直觉和心灵的指示,所有其他的事情都是次要的。
2010-03-23 16:20
ldg628
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:3
帖 子:526
专家分:3036
注 册:2009-6-23
收藏
得分:0 
while((response=getchar())!='y') //输入no<enter> 这一行的getchar吃掉n
{
    if(response=='n')  // 条件为真,打印 well,is it 2
        printf("well,is it %d?\n",++guess);
    else
        printf("sorry\n");
    while(getchar()!='\n') //先吃掉o ,条件为真,接着吃,然后是<enter>回车,条件为假,退出此循环
        continue;
    putchar(response); //打印n
    printf("\n");
}
2010-03-23 16:47
何少仪
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:91
专家分:170
注 册:2010-3-6
收藏
得分:0 
回复 4楼 ldg628
感觉不太对劲。。

这是个嵌套循环,比如输入 no【回车】 ,首先第一个 while()读取字符n,条件为真进入代码块,判断if else之后,判断字符n部位换行符,进入第二个while();然后停在这里,知道【回车】,为假,然后执行  putchar(response);
                          printf("\n");

  由于内部循环不影响外部循环,应该判断 o 执行第二次循环。。以此类推。。。。。

while(getchar()!='\n')
continue;                     //或者  while(getchar()!='\n');

感觉没什麽用。。


有点乱拉。。。。。。。。

[b] 你要有勇气去听从你直觉和心灵的指示,所有其他的事情都是次要的。
2010-03-24 19:14
ldg628
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:3
帖 子:526
专家分:3036
注 册:2009-6-23
收藏
得分:15 
o已经被
    while(getchar()!='\n')
            continue;
吃掉了,并且把换行也吃掉了,getchar是按顺序吃掉缓冲区的字符的,吃掉以后就不在了
2010-03-24 19:31
快速回复:循环的问题,
数据加载中...
 
   



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

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