Objective-C巢狀迴圈

2019-10-16 23:15:24

Objective-C程式設計語言允許在另一個迴圈中使用一個迴圈。以下部分顯示了幾個例子來說明這個概念。

語法

Objective-C語言中巢狀for迴圈語句的語法如下 -

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

Objective-C程式設計語言中巢狀while迴圈語句的語法如下 -

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

Objective-C程式設計語言中巢狀do...while迴圈語句的語法如下 -

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

} while( condition );

迴圈巢狀可以將任何型別的迴圈放在任何其他型別的迴圈中。 例如,for迴圈可以放在while迴圈內,反之亦然。

例子
以下程式使用巢狀for迴圈來從2100中查詢素數 -

#import <Foundation/Foundation.h>

int main () {

   /* 區域性變數定義 */
   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)) NSLog(@"%d is prime\n", i);
   }

   return 0;
}

執行上面範例程式碼,得到以下結果:

2018-11-14 07:14:35.503 main[60729] 2 is prime
2018-11-14 07:14:35.505 main[60729] 3 is prime
2018-11-14 07:14:35.505 main[60729] 5 is prime
2018-11-14 07:14:35.505 main[60729] 7 is prime
2018-11-14 07:14:35.505 main[60729] 11 is prime
2018-11-14 07:14:35.506 main[60729] 13 is prime
2018-11-14 07:14:35.506 main[60729] 17 is prime
2018-11-14 07:14:35.506 main[60729] 19 is prime
2018-11-14 07:14:35.506 main[60729] 23 is prime
2018-11-14 07:14:35.506 main[60729] 29 is prime
2018-11-14 07:14:35.506 main[60729] 31 is prime
2018-11-14 07:14:35.506 main[60729] 37 is prime
2018-11-14 07:14:35.506 main[60729] 41 is prime
2018-11-14 07:14:35.506 main[60729] 43 is prime
2018-11-14 07:14:35.506 main[60729] 47 is prime
2018-11-14 07:14:35.506 main[60729] 53 is prime
2018-11-14 07:14:35.506 main[60729] 59 is prime
2018-11-14 07:14:35.506 main[60729] 61 is prime
2018-11-14 07:14:35.506 main[60729] 67 is prime
2018-11-14 07:14:35.506 main[60729] 71 is prime
2018-11-14 07:14:35.506 main[60729] 73 is prime
2018-11-14 07:14:35.506 main[60729] 79 is prime
2018-11-14 07:14:35.506 main[60729] 83 is prime
2018-11-14 07:14:35.506 main[60729] 89 is prime
2018-11-14 07:14:35.506 main[60729] 97 is prime