int a = 2;
while (1 < a < 5) {
printf("%d\n", a);
a = a + 1;
}
在C程序中,我使用了上面的代码,但是它总是无限计数。这意味着while循环的测试条件始终为true。但是我不明白为什么会这样。
答案 0 :(得分:9)
1 < a < 5
分组为(1 < a) < 5
。
对于您的值a
,1 < a
返回1
(真),所以现在您的表达式变为1 < 5
,其总值为1
,即为什么最终会陷入无限循环。
您可以通过编写while((1 < a) && (a < 5))
来获得所需的行为。
答案 1 :(得分:1)
对于任何ggplot(df, aes(status, val, group = category, colour = category)) +
geom_point() +
stat_summary(geom = "line", fun.y = "mean")
的值,表达式1 < a < 5
都是1
,并且a
循环。
它分为while (1)
和(1 < a) < 5
为1 < a
或0
,它们都小于5。
您要1
吗?
答案 2 :(得分:0)
由于条件1,循环无限次运行
这可能会有所帮助:
int a = 2;
while(a <5)
{
printf(“%d \ n”,a);
a = a + 1;
}