C 为什么while(1<;a<;5)是一个无限循环? inta=2; 而(1
在C程序中,我使用了上面的代码,但它总是无限计数。这意味着while循环的测试条件始终为true。但我不明白为什么会发生这种情况。循环无限次地运行,因为条件是 这将有助于: INTA=2C 为什么while(1<;a<;5)是一个无限循环? inta=2; 而(1,c,comparison-operators,C,Comparison Operators,在C程序中,我使用了上面的代码,但它总是无限计数。这意味着while循环的测试条件始终为true。但我不明白为什么会发生这种情况。循环无限次地运行,因为条件是 这将有助于: INTA=2 而(a循环无限次运行,因为 这将有助于: INTA=2 而(a1
而(a循环无限次运行,因为 这将有助于: INTA=2
而(a
1
被分组为(1
对于a
的值,1
返回1
(true),因此现在表达式变为1<5
,它的计算结果总是1
,这就是为什么会出现无限循环
你想要的行为可以通过写
而不是((1
来获得。1
被分组为(1
对于a
的值,1
返回1
(true),因此现在表达式变为1<5
,它的计算结果总是1
,这就是为什么会出现无限循环
您想要的行为可以通过写入
while((1
来获得。表达式1
是1
表示a
的任何值,以及while(1)
循环
它被分组为(1
,1
是0
或1
,两者都小于5
您想要
1
?表达式1
对于a
的任何值都是1
,并且while(1)
循环
它被分组为(1
,1
是0
或1
,两者都小于5
您想要
1
?欢迎来到!这可能会让您感到惊讶,但您的问题在这里是离题的。我们处理的是计算机科学问题,而不是编程问题。请参阅我们的。您的问题可能在的主题上。此代码将帮助您。printf(“%d\n”,1@burnabyRails谢谢,这非常有帮助。我想我需要了解更多有关这方面的信息…欢迎使用!这可能会让您感到惊讶,但您的问题在这里是离题的。我们处理的是计算机科学问题,而不是编程问题。请参阅我们的。您的问题可能在上。此代码将帮助您。printf(“%d\n”,1@burnabyRails谢谢,这非常有帮助。我想我需要了解更多关于这方面的信息……但是,当a的值达到5时,它必须停止计数。这里的第一个条件为1,但当a的值达到5时,它必须停止计数。这里的第一个条件为1“1
…被转换为int
”--不太正确:1
具有类型int
(和值1
)首先,请注意,<代码> 1 < A/E> > 0或1。它有<代码> int <代码>类型。不需要谈论<代码>真/ <代码>。这里,C与C++不同。你能指我在代码>上的一个源吗?operator@RcnSc:请参阅。@RcnSc:“每个运算符<(小于),>(大于),=(大于或等于)如果指定的关系为真,则应产生1,如果为假,则产生0。结果的类型为int。“直接相关:”表达式a“1
…被转换为int
”--不完全相关:1
具有类型int
(和值1
)首先,请注意,<代码> 1 < A/E> > 0或1。它有<代码> int <代码>类型。不需要谈论<代码>真/ <代码>。这里,C与C++不同。你能指我在代码>上的一个源吗?operator@RcnSc:请参阅。@RcnSc:“每个运算符<(小于),>(大于),=(大于或等于)如果指定的关系为真,则应产生1,如果为假,则产生0。结果的类型为int。“直接相关:”表达式aThat表示::(1)表示::(1
int a = 2;
while (1 < a < 5) {
printf("%d\n", a);
a = a + 1;
}