「for ループの初期宣言が C99 モード外で使用されている」という GCC エラーを修正するにはどうすればいいですか? 質問する

「for ループの初期宣言が C99 モード外で使用されている」という GCC エラーを修正するにはどうすればいいですか? 質問する

解決しようとしている3n+1問題forそして次のようなループがあります:

for(int i = low; i <= high; ++i)
        {
                res = runalg(i);
                if (res > highestres)
                {
                        highestres = res;
                }

        }

残念ながら、GCC でコンパイルしようとすると、次のエラーが発生します。

3np1.c:15: エラー: 'for' ループの初期宣言が C99 モード外で使用されています

C99 モードが何なのか分かりません。何かアイデアはありますか?

ベストアンサー1

iループの外で宣言してみます!

3n+1 を解くのがうまくいきますように :-)

次に例を示します。

#include <stdio.h>

int main() {

   int i;

   /* for loop execution */
   for (i = 10; i < 20; i++) {
       printf("i: %d\n", i);
   }   

   return 0;
}

C言語のforループについてさらに詳しく読むここ

おすすめ記事