4

簡単な for ステートメントは次のようになります。

 for(int i = 0/*A Optional*/; i < 10/*B Optional*/; i++/*C Optional*/) {
 }

for ステートメントの初期化コード (A) で、いくつの変数を初期化できますか? また、for ステートメントの初期化コード (A) でこれらの変数をどのように初期化しますか?

4

3 に答える 3

6

書きたい数だけですが、宣言は同じタイプに制限されています。(初期化については、以下の展開とWugsの回答を参照してください。)

for (int a = 1, b = 2, c = 3 ; ; ) {
    break;
}

(オプションの)ForInitセクションは次のようになります。

  1. ForInitコードがステートメント式のリスト(§14.8)である場合、式は左から右に順番に評価されます。それらの値がある場合は破棄されます。

  2. ForInitコードがローカル変数宣言である場合、ブロックに表示されるローカル変数宣言ステートメント(§14.4)であるかのように実行されます。

  3. ForInit部分が存在しない場合、アクションは実行されません。

上記の宣言付きのサンプルコードは、の形式for(LocalVariableDeclaration;;)です。

于 2012-07-25T19:44:27.560 に答える
3

任意の型をいくつでも初期化できますが、インライン宣言を使用する場合は、前述のpstのように、宣言されたすべての変数が同じ型である必要があります。

for (int i = 1, j = 0, k = -1; ; );

string s;
double d;

for (s = "", d = 1.5; ; );
于 2012-07-25T19:47:30.423 に答える
1

for ループ内のステートメントをコンマで区切ることができるため、必要な数の変数を初期化できます。複数の変数を初期化する場合、for ループは次のようになります。

 for(int i = 0, x = 1, d = 2; i < 10; i++, x++) {
 }

それらは同じタイプである必要があります。

于 2012-07-25T19:50:51.330 に答える