Objective-C 中的嵌套循环
Objective-C 编程语言允许在一个循环内使用另一个循环。 以下部分显示了几个示例来说明这个概念。
语法
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 循环来查找 2 到 100 之间的素数 −
#import <Foundation/Foundation.h> 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)) NSLog(@"%d is prime\n", i); } return 0; }
当上面的代码被编译和执行时,会产生如下结果 −
2013-09-07 22:40:01.004 demo[1027] 2 is prime 2013-09-07 22:40:01.005 demo[1027] 3 is prime 2013-09-07 22:40:01.005 demo[1027] 5 is prime 2013-09-07 22:40:01.005 demo[1027] 7 is prime 2013-09-07 22:40:01.005 demo[1027] 11 is prime 2013-09-07 22:40:01.005 demo[1027] 13 is prime 2013-09-07 22:40:01.005 demo[1027] 17 is prime 2013-09-07 22:40:01.005 demo[1027] 19 is prime 2013-09-07 22:40:01.005 demo[1027] 23 is prime 2013-09-07 22:40:01.005 demo[1027] 29 is prime 2013-09-07 22:40:01.005 demo[1027] 31 is prime 2013-09-07 22:40:01.005 demo[1027] 37 is prime 2013-09-07 22:40:01.005 demo[1027] 41 is prime 2013-09-07 22:40:01.005 demo[1027] 43 is prime 2013-09-07 22:40:01.005 demo[1027] 47 is prime 2013-09-07 22:40:01.005 demo[1027] 53 is prime 2013-09-07 22:40:01.005 demo[1027] 59 is prime 2013-09-07 22:40:01.005 demo[1027] 61 is prime 2013-09-07 22:40:01.005 demo[1027] 67 is prime 2013-09-07 22:40:01.005 demo[1027] 71 is prime 2013-09-07 22:40:01.005 demo[1027] 73 is prime 2013-09-07 22:40:01.005 demo[1027] 79 is prime 2013-09-07 22:40:01.005 demo[1027] 83 is prime 2013-09-07 22:40:01.005 demo[1027] 89 is prime 2013-09-07 22:40:01.005 demo[1027] 97 is prime