| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 773 人关注过本帖
标题:奇怪的问题
只看楼主 加入收藏
simpley
Rank: 1
等 级:新手上路
帖 子:262
专家分:0
注 册:2005-2-23
收藏
 问题点数:0 回复次数:2 
奇怪的问题
main(){char c;

while((c=getchar())=='\n');
while(c!='n')
{printf("test");while((c=getchar())=='y');}}
运行程序,如果空按回车,就进入循环(符合设想),可是在打出TEST后,如果按Y,则进不了循环,直接又打出TEST。当然,我们可以解释说,这是在Y后打了回车,所以C不等Y而等于回车,可是你如果打了N,程序就会结束,说明C并不等于回车。
问:为什么while((c=getchar())=='\n');可以进入循环,而while((c=getchar())=='y');则不可以
搜索更多相关主题的帖子: getchar TEST 回车 test main 
2005-02-23 06:30
lmr
Rank: 1
等 级:新手上路
帖 子:86
专家分:0
注 册:2004-12-9
收藏
得分:0 
你的思路有问题,请说明原本题意。
2005-02-23 10:53
kaikai
Rank: 1
等 级:新手上路
帖 子:236
专家分:0
注 册:2005-1-7
收藏
得分:0 
貌似没什么奇怪的... 输入的数据依次为:空格,回车,'y',回车,'n',回车 对吧? #include <stdio.h> int main() { char c; while((c=getchar())=='\n') printf("(%d]",c); // 1 空格 printf("(%d]",c); // 2 回车 while(c!='n') // 3 回车不是n,进入这个循环 6 回车不是n,继续循环 8 c是n,退出... { printf("test"); while((c=getchar())=='y') printf("[%d]",c); // 4 'y' printf("[%d]",c); // 5 回车 7 'n'不是'y',直接到这里 } printf("end\n"); fflush(stdin); getchar(); return 0; }

Have you visit acm.tongji. lately?
2005-02-23 18:29
快速回复:奇怪的问题
数据加载中...
 
   



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

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