■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行で書け
読むのが楽になります。
■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言語では
変数の宣言は関数の先頭でしか
できませんでした。
なので昔の教科書では
変数の宣言は一律関数の先頭に記述されています。
参考:
DCL19-C. 変数と関数の有効範囲を最小限にする