How do I fix "for loop initial declaration used outside C99 mode" GCC error? How do I fix "for loop initial declaration used outside C99 mode" GCC error? c c

How do I fix "for loop initial declaration used outside C99 mode" GCC error?


I'd try to declare i outside of the loop!

Good luck on solving 3n+1 :-)

Here's an example:

#include <stdio.h>int main() {   int i;   /* for loop execution */   for (i = 10; i < 20; i++) {       printf("i: %d\n", i);   }      return 0;}

Read more on for loops in C here.


There is a compiler switch which enables C99 mode, which amongst other things allows declaration of a variable inside the for loop. To turn it on use the compiler switch -std=c99

Or as @OysterD says, declare the variable outside the loop.


To switch to C99 mode in CodeBlocks, follow the next steps:

Click Project/Build options, then in tab Compiler Settings choose subtab Other options, and place -std=c99 in the text area, and click Ok.

This will turn C99 mode on for your Compiler.

I hope this will help someone!