>>483 なんでなんだろうね。VC++でもGCCでもiがまるでunsigned longであるかのようなコードになってる https://msdn.microsoft.com/ja-jp/library/c70dax92.aspx "プレフィックスもサフィックスも付かない場合、コンパイラは整数リテラル値に型 int (32 ビット) を与えます。値が収まりきらない場合は型 long long (64 ビット) を与えます。" 4000000000が4000000000LLと解釈されてるとしても変な気がする。
例えば下のようにすると無限ループになる long i; long long c = 4000000000LL; for (i = 0; i < c; i++) { num += 0.000000001; }