以下のコードをコードブロックでコンパイルしたところ、出力 0...0 が表示されました。しかし、ここでは「if」ステートメントが真ではないため、その出力は0 ... 1である必要があると思います。「if」に続くステートメントは実行されません。その後、jは1ずつインクリメントされます(「if」ステートメントのj ++のため)が、 i は 0 のままです。したがって、最後の printf() は 0...1 を与えるはずです。
#include <stdio.h>
int main()
{
int i =0,j=0;
if(i && j++)
printf("%d..%d\n",i++,j);
printf("%d...%d",i,j);
return 0;
}