for (expr1; expr2; expr3) {
statements;
}
(Integer|Real) expr2;
任意の式 expr1, expr3;
【詳細】
文法的には for の 3 つの要素は式である。多くの場合,expr1 と
exp3 は代入または関数呼び出しであり,expr2 は関係式または論理式
である。3 つのどの部分のどれを省略してもよいが,セミコロンは
省略してはならない。テスト部 expr2 が省略されたら,それは永久に
真とみなされる。したがって
for (;;) {
statements;
}
は無限ループであり,脱出は,他の手段(例えば break や return)による
ことになる。C言語のカンマ演算子に相当する演算子をもたないので,
複数個の式を直接 expr1 と expr3 に書けないが,リストを用いれば
for ({i=1, j=1}; i<5 && j<5; {i++, j++}) {
statements;
}
のように expr1 と expr3 に複数個の式を書ける
【例題】
対角成分にその行番号と列番号の和を代入する。
A = Z(4);
for (i = 1; i <= Cols(A); i++) {
for (j = 1; j <= Rows(A); j++) {
if (i == j) {
A(i,j) = i + j;
}
}
}
【参照】