簡単な for ステートメントは次のようになります。
for(int i = 0/*A Optional*/; i < 10/*B Optional*/; i++/*C Optional*/) {
}
for ステートメントの初期化コード (A) で、いくつの変数を初期化できますか? また、for ステートメントの初期化コード (A) でこれらの変数をどのように初期化しますか?
簡単な for ステートメントは次のようになります。
for(int i = 0/*A Optional*/; i < 10/*B Optional*/; i++/*C Optional*/) {
}
for ステートメントの初期化コード (A) で、いくつの変数を初期化できますか? また、for ステートメントの初期化コード (A) でこれらの変数をどのように初期化しますか?
書きたい数だけですが、宣言は同じタイプに制限されています。(初期化については、以下の展開とWugsの回答を参照してください。)
for (int a = 1, b = 2, c = 3 ; ; ) {
break;
}
(オプションの)ForInitセクションは次のようになります。
ForInitコードがステートメント式のリスト(§14.8)である場合、式は左から右に順番に評価されます。それらの値がある場合は破棄されます。
ForInitコードがローカル変数宣言である場合、ブロックに表示されるローカル変数宣言ステートメント(§14.4)であるかのように実行されます。
ForInit部分が存在しない場合、アクションは実行されません。
上記の宣言付きのサンプルコードは、の形式for(LocalVariableDeclaration;;)
です。
任意の型をいくつでも初期化できますが、インライン宣言を使用する場合は、前述のpstのように、宣言されたすべての変数が同じ型である必要があります。
for (int i = 1, j = 0, k = -1; ; );
string s;
double d;
for (s = "", d = 1.5; ; );
for ループ内のステートメントをコンマで区切ることができるため、必要な数の変数を初期化できます。複数の変数を初期化する場合、for ループは次のようになります。
for(int i = 0, x = 1, d = 2; i < 10; i++, x++) {
}
それらは同じタイプである必要があります。