| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 455 人关注过本帖
标题:输入输出的小问题
只看楼主 加入收藏
crazyc
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2006-8-5
收藏
 问题点数:0 回复次数:7 
输入输出的小问题

/* age.c: Comments on your age */
#include <stdio.h>

int main() {
int age;
char chr='y';
while(1)
{
printf("Enter your age:");
scanf("%d", &age);
if (age < 20)
printf("youth");
else if (age < 40)
printf("prime");
else if (age < 60)
printf("aches and pains");
else if (age < 80)
printf("golden");
else {
char really;
printf("Are you really %d?\n", age);
scanf(" %c", &really);
if (really == 'Y' || really == 'y')
printf("Congratulations!");
else
printf("I didn't think so!");
}
printf("want to quit?\n");
scanf("%c",&chr);
if(chr=='y')
break;
}
printf("nice!!") ;
getch();
return 0;

}提问啦"为什么在 printf("want to quit?\n");之后程序就直接提示 printf("Enter your age:");了啊?
我还没有确定 printf("want to quit?\n"); 的呀?

搜索更多相关主题的帖子: 输出 输入 
2007-03-20 06:33
cdmalcl
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:24
帖 子:4091
专家分:524
注 册:2005-9-23
收藏
得分:0 

/* age.c: Comments on your age */
#include <stdio.h>

int main(){
int age;
char chr='y';
while(1)
{
printf("Enter your age:");
scanf("%d", &age);
if (age < 20)
printf("youth");
else if (age < 40)
printf("prime");
else if (age < 60)
printf("aches and pains");
else if (age < 80)
printf("golden");
else {
char really;
printf("Are you really %d?\n", age);
scanf(" %c", &really);
if (really == 'Y' || really == 'y')
printf("Congratulations!");
else
printf("I didn't think so!");
}
printf("want to quit?\n");
fflush(stdin);
scanf("%c",&chr);
if(chr=='y')
break;
}
printf("nice!!") ;
getch();
return 0;

}

2007-03-20 07:25
江南孤峰
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2006-11-8
收藏
得分:0 

输入 scanf("%d", &age); 后的回车符直接被scanf("%c",&chr);接收了,在scanf("%d", &age);后加个getchar();也可以
不过一楼的还好一点

2007-03-20 07:47
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
收藏
得分:0 
http://bbs.bc-cn.net/viewthread.php?tid=124890

以前发的帖都不看,现在都沉好远了

雁无留踪之意,水无取影之心
2007-03-20 09:45
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
收藏
得分:0 
几乎可以解决所有这类问题

雁无留踪之意,水无取影之心
2007-03-20 09:46
crazyc
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2006-8-5
收藏
得分:0 

其实更简单的是 在scanf("X%c",&chr);在我标示X的地方加个空格就可以饶过个

2007-03-24 17:20
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
收藏
得分:0 
楼上貌似我的马甲

[此贴子已经被作者于2007-3-24 17:48:40编辑过]



雁无留踪之意,水无取影之心
2007-03-24 17:48
lsxq
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-3-24
收藏
得分:0 

又是缓冲的问题
最好的办法就是不用scanf 这个函数真的很垃圾


2007-03-24 18:01
快速回复:输入输出的小问题
数据加载中...
 
   



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

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