标题:scanf语句
只看楼主
zhangjuan
Rank: 1
等 级:新手上路
帖 子:992
专家分:0
注 册:2006-1-19
得分:0 
那为什么我在win-tc下运行时是死循环,该不会是编译器的问题吧,

2006-03-05 13:15
iyuohz
Rank: 1
等 级:新手上路
帖 子:107
专家分:0
注 册:2006-2-22
得分:0 

please input a odd number.
4
please input a odd number.
2
please input a odd number.
6
please input a odd number.
21
please input a odd number.
22
please input a odd number.
23
please input a odd number.
0
please input a odd number.
6
please input a odd number.
7


Terminated with return code 0
Press any key to continue ...

什么题啊!无论奇数 偶数,一律拍死!

[此贴子已经被作者于2006-3-5 13:55:03编辑过]


2006-03-05 13:47
iyuohz
Rank: 1
等 级:新手上路
帖 子:107
专家分:0
注 册:2006-2-22
得分:0 
while((scanf("%d",&n)==1)&&((n>15)||(n<3)||(n%2==0)));

n不能是 3 到 15 之间的奇数?其他的数随便?
lz的题目也够 另类的

2006-03-05 14:02
一天进步一点点
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2006-2-19
得分:0 

我想楼主的程序目的并不是这样吧!我说怎么觉得怪怪的,谢谢楼上的提点


2006-03-05 14:22
stdio
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2006-1-22
得分:0 
在scanf下面加一句话

while((c=getchar())!='\n' && c!=EOF); /*这条语句负责清空缓冲区里的垃圾*/

当然前面要定义一下

char c;



#include<stdio.h>
#include<conio.h>
int main()
{
int n;
do
{
printf("please input a odd number.\n");
scanf("%d",&n);
while((c=getchar())!='\n' && c!=EOF); /*这条语句负责清空缓冲区里的垃圾*/
}while((n>15)||(n<3)||(n%2==0));
getch();
return 0;
}

[此贴子已经被作者于2006-3-5 17:02:14编辑过]

2006-03-05 16:55
mwjpiero
Rank: 1
等 级:新手上路
帖 子:68
专家分:0
注 册:2006-3-4
得分:0 
以下是引用mwjpiero在2006-3-4 17:31:00的发言:
#include <stdio.h>
int main()
{
int n;
do
{
printf("please input a odd number.\n");
}while((scanf("%d",&n)==1)&&((n>15)||(n<3)||(n%2==0)));
getch();

return 0;
}
按照自己的要求再完善一下吧

我的不是死循环,输入非数字的时候就会退出了
scanf("%d", $n)==1这句话的作用应该知道吧

2006-03-05 20:49



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-46564-1-1.html




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

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