Turbo C ++错误地在条件

时间:2017-02-08 16:07:27

标签: c turbo-c++

我在for循环的条件下写了0,所以它曾经被执行过,当我写j代替0而j被初始化为0时,for循环甚至没有被执行过一次。它背后的原因是什么?

for(i=0;0;i++) 

j = 0;
for(i=0;j;i++) 

第一个执行一次,但下一个没有执行。

编辑:

这是Turbo C ++编译器中的一个错误。

2 个答案:

答案 0 :(得分:0)

这是一个基本的C问题,你应该能够自己回答。 for构造中的第二个参数是条件的。如果它的计算结果为true,则循环继续。如果它的计算结果为false,则循环停止。

当您将第二个参数设置为文字0或设置为零的变量j时,您将其设置为一个值为逻辑false的值。

答案 1 :(得分:0)

这是Turbo c ++中的错误

版本:3.2.2.0

以下问题报告于 Github as an Issue


以下gif将提供错误说明。 gif of execution of the above

再生代码

void main()
{
   int i,j=0;
   clrscr();
   for(i = 0; 0 ; i++) // you could try replacing 0 with variable j
      printf("\nHello");
   getch();
}