D 程式設計 - 巢狀迴圈



D 程式語言允許在一個迴圈內巢狀另一個迴圈。以下部分將透過一些示例來說明這個概念。

語法

巢狀 for 迴圈 語法的格式如下:

for ( init; condition; increment ) {
   for ( init; condition; increment ) {
      statement(s);
   }
   statement(s);
}

巢狀 while 迴圈 語法的格式如下:

while(condition) {
   while(condition) {
      statement(s);
   }
   statement(s);
}

巢狀 do...while 迴圈 語法的格式如下:

do {
   statement(s);
   do {
      statement(s);
   }while( condition );

}while( condition );

關於迴圈巢狀的最後一點說明是,您可以將任何型別的迴圈放在任何其他型別的迴圈內。例如,for 迴圈可以放在 while 迴圈內,反之亦然。

示例

下面的程式使用巢狀 for 迴圈來查詢 2 到 100 之間的素數:

import std.stdio;
 
int main () {
   /* local variable definition */
   int i, j;
   
   for(i = 2; i<100; i++) {
      for(j = 2; j <= (i/j); j++)
        if(!(i%j)) break; // if factor found, not prime
      if(j > (i/j)) writefln("%d is prime", i);
   }
 
   return 0;
}

編譯並執行上述程式碼後,將產生以下結果:

2 is prime 
3 is prime 
5 is prime 
7 is prime
11 is prime 
13 is prime 
17 is prime 
19 is prime 
23 is prime 
29 is prime 
31 is prime 
37 is prime 
41 is prime 
43 is prime 
47 is prime 
53 is prime 
59 is prime 
61 is prime 
67 is prime 
71 is prime 
73 is prime 
79 is prime 
83 is prime 
89 is prime 
97 is prime 
d_programming_loops.htm
廣告
© . All rights reserved.