while
如果在没有像count!=0
#include<stdio.h>
static int count=5;
void func(void);
void main()
{
while(count--)
{
func();
}
}
void func(void)
{
static int i=5;
i++;
printf("%d\t%d\n",i,count);
}
如何终止?
index = int(form.hour.data)
form.hour.choices[index][1]
答案 0 :(得分:4)
在C语言中0
(零)被视为假。在任何条件语句中使用0
时,它将评估为false。
Ex:if( 0 )
评估为false,触发else代码(如果有)。
在代码中,当count--
等于0
时,while条件的计算结果为while (0)
。由于while
循环的迭代仅在条件求值为true时触发,因此while
循环将在此时终止。
答案 1 :(得分:3)
while(condition)
此处循环继续,直到呈现为布尔值的条件为真。在C中,0表示 false 布尔值。
因此
while(count--)
在这种情况下,计数值在每次迭代中递减,当它变为零时,条件看起来像而(0),它会将循环打破为条件变得虚假。
答案 2 :(得分:1)
当while循环尝试计算其条件语句时,它会将值转换为boolean。非零的整数值被视为true,因此循环将继续,相反,零将转换为false并停止循环。
答案 3 :(得分:1)
while循环检查条件总是如此,当count变为零时,循环将具有错误条件。
答案 4 :(得分:0)
for
循环在这里可能会更好用:
void main()
{
for (int i=count; i > 0; --i)
{
func();
}
}
for
循环适合您的用例的原因是它既维护计数器又能够检查终止条件。