C99の文法

C言語のプログラムのループ部分


 for(int k=0 ;k<=100;k++){
でエラーが出た。

hoge.c:3: `for' loop initial declaration used outside C99 mode

javaでは上でいいんですがCでは


 int k;
 for(k=0 ;k<=100;k++){

としなければいけないらしい。

複素数や特殊関数を使うために最近VCからEclipse+CDTに開発環境を変えたことでCコンパイラを意識するようになった。

例えばThe New ISO Standard for C (C9X)に載ってたんだけど、


 {
  int k;
  for(;k<=100;k++)
//処理
}

これはC89で標準文法らしい。