C言語 ネストループとは?基本と実践【サンプルコード付き】
C言語において、入れ子ループとは、1つのループの中に別の1つまたは複数のループが含まれる構造のことを指します。入れ子ループを使用することで、内側のループの各反復ごとに外側のループを1回反復できます。この構造により、特定のコードを異なるレベルで繰り返し実行し、より柔軟かつ複雑な制御フローを実現できます。
以下是一个简单示例,展示了如何使用嵌套循环来输出九九乘法表。
#include <stdio.h>
int main() {
int i, j;
for (i = 1; i <= 9; i++) {
for (j = 1; j <= i; j++) {
printf("%d * %d = %d\t", j, i, i * j);
}
printf("\n");
}
return 0;
}
上記の例では、外側のループfor(i = 1; i <= 9; i++)は行数を制御し、内側のループfor(j = 1; j <= i; j++)は各行の出力する乗算式を制御します。入れ子のループを使用することで、1から9までの乗算表を順番に表示することができます。
嵌套循環を使用する際には、内外の繰り返し回数を注意深く制御して、無限ループやパフォーマンス問題を避ける必要があります。また、適切に嵌め込んだループを利用することで、プログラムのロジックが簡素化され、コードの再利用性と可読性が向上します。