【C言語】
for文の古い書き方新しい書き方


■for文の古い書き方(非推奨C89スタイル)

//C89スタイルのfor文
#include <stdio.h>
int main(void){
    /*関数先頭で変数の宣言*/
    int     x;
    int     y;
    int     z;

    /*とりあえず0で初期化*/
    x = 0;
    y = 0;
    z = 0;
      
    /*本処理*/
    for(x = 0 ; x<10; x++){
        for(y = 0; y<10; y++){
            for(z = 0; z<10; z++){
                printf("君の教科書古いかも? xyz=%d\n",x*y*z);
            }
        }
    }
    return  0;
}

昔のC89仕様のC言語では
変数の宣言は関数の先頭でしか
できませんでした。

なので昔の教科書では
変数の宣言は一律関数の先頭に記述されています。


■for文の新しい書き方(推奨C99スタイル)

//C99スタイルのfor文
#include <stdio.h>
int main(void){
    for(int x = 0 ; x<10; x++){
        for(int y = 0; y<10; y++){
            for(int z = 0; z<10; z++){
                printf("今時のfor文 xyz=%d\n",x*y*z);
            }
        }
    }
}

今時C99仕様では
変数は必要な所で宣言できます。

for文も宣言、初期化、更新が1行で書け
読むのが楽になります。

参考:

DCL19-C. 変数と関数の有効範囲を最小限にする