【发布时间】:2016-01-06 21:10:07
【问题描述】:
我在 C 上的循环有问题。我在这段代码中有一个无限循环...
int nb3=0;
while ((nb3 <=0) || (nb3 > 100) || (isdigit(nb3) && (isdigit(nb3) !=0)) )
{
printf("%d\n", nb3);
nb3=1;
printf("%d\n", nb3);
printf("Le nombre saisi est incorrect, veuillez le ressaisir \n");
scanf("%d",&nb3);
}
【问题讨论】:
-
你执行了这段代码吗?你知道
infinite loop是什么吗? -
我执行了这段代码,我认为无限循环在“scanf("%d",&nb3);"附近。我不能用这个 scanf 在 nb3 中写一个新数字。
-
scanf要求用户输入。您对程序的输入是什么(在控制台中)?你按回车了吗? -
您输入的号码必须是
>0 && <48或>57 && <=100。你输入了什么? -
另外,你想用
isdigit(nb3) && (isdigit(nb3) !=0)做什么?那部分没有意义。嗯,确实如此,但它做了两次相同的测试。
标签: c