| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 547 人关注过本帖
标题:[求助]有关控制退出结构的问题
只看楼主 加入收藏
THE
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2007-6-30
收藏
 问题点数:0 回复次数:7 
[求助]有关控制退出结构的问题

#include<stdio.h>

main ()
{
int i, j=0;

for (i=0; i<3; i++) {
while (j!='y'||j!='n') {
printf("是否还有顾客? 是=y, 否=n\n");
scanf("%d", &j);
}
if (j=='n')
break;
}
}
无法用j来控制退出for结构?请指正

搜索更多相关主题的帖子: 结构 顾客 int break 
2007-07-13 09:15
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 

类型错误,修改后如下
#include<stdio.h>

main ()
{
char i, j=0;

for (i=0; i<3; i++) {
while (j!='y'||j!='n') {
printf("是否还有顾客? 是=y, 否=n\n");
scanf("%c", &j);
}
if (j=='n')
break;
}
}


My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2007-07-14 18:02
yohji
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2007-7-14
收藏
得分:0 
1. main ()不对,应为int main(void)
2. 任何放到循环里面的scanf("%c"....)都值得怀疑

http:///
2007-07-14 19:51
huangfengchu
Rank: 1
等 级:新手上路
威 望:2
帖 子:274
专家分:0
注 册:2007-5-22
收藏
得分:0 
以下是引用yohji在2007-7-14 19:51:01的发言:
1. main ()不对,应为int main(void)
2. 任何放到循环里面的scanf("%c"....)都值得怀疑
这人的话哎!!!

深山苦学C语言,终年不见外面世界。
2007-07-14 21:51
cihren
Rank: 1
等 级:新手上路
帖 子:76
专家分:0
注 册:2007-6-27
收藏
得分:0 
2. 任何放到循环里面的scanf("%c"....)都值得怀疑

这句话何意,实在不知怀疑什么???

革命尚未成功,同志仍需努力!
2007-07-14 22:48
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
以下是引用yohji在2007-7-14 19:51:01的发言:
1. main ()不对,应为int main(void)
2. 任何放到循环里面的scanf("%c"....)都值得怀疑

1.main()在TC中是正确的,而出学者和书籍中大都用它(TC),因此不应说错;
并且并非只有int main(void)是唯一标准的,因为还有int main(int argc,char **argv)等标准C形式
2.放在循环中的scanf("%c"...)为何值得怀疑,完全可以通过scanf("%c"...)实现多字符读入,比如
char s[200];
int i;
for(i=0;i<200;i++) scanf("%c",&s[i]);


My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2007-07-15 09:37
yohji
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2007-7-14
收藏
得分:0 
解释一下那两句话:

第一句是说:void foo()和void foo(void)其实是不一样的,建议你看一下我的文章:http://www.xiyoulinux.cn/blog/?p=34
而且,默认返回int类型也是将要被遗弃的特性,你不应该使用。

第二句是说:循环里的scanf("%c"...)经常存在缓冲区的问题,我已经被问过不下10次这种问题了!在win可以简单地用fflush(stdin)解决,或者用"%*c%c"代替"%c",或者setvbuf()。后两个是推荐使用的,因为那是可移植的。

http:///
2007-07-15 12:45
THE
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2007-6-30
收藏
得分:0 
谢谢大家的帮助!
2007-07-15 13:51
快速回复:[求助]有关控制退出结构的问题
数据加载中...
 
   



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

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