#include<stdio.h>
int main()
{
  for(;NULL;)
    printf("STACK");
  return 0;
}
output: STACK NULL には ascii 値 0 があり、それは false であることはわかっていますが、turbo c で実行すると、このプログラムは出力 "STACK" を出力します。
「STACK」は出力されません。これは、forステートメントの条件部分が常に false であるためです ( NULLis #defined as (void *)0.
ターボcコンパイラは古くからあります(20年前)。あなたが見ている振る舞いはバグです。16ビットアプリケーションがOS(Win7?)で正しく実行されていません。
回避策として、変数にNULL値を割り当て、それをforループの条件で使用するか、新しいコンパイラに切り替えることをお勧めします。wxdev -cppのように