【发布时间】:2011-09-20 15:05:54
【问题描述】:
在下面的 Objective-C 代码中,当第一个内部 'if' 语句满足(真)时,这是否意味着循环终止并转到下一个语句?
另外,当它执行一次后返回到内部的'for'语句时,p的值是否又是2,为什么?
// Program to generate a table of prime numbers
#import <Foundation/Foundation.h>
int main (int argc, char *argv[])
{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
int p, d, isPrime;
for ( p = 2; p <= 50; ++p ) {
isPrime = 1;
for ( d = 2; d < p; ++d )
if (p % d == 0)
isPrime = 0;
if ( isPrime != 0 )
NSLog (@”%i ", p);
}
[pool drain];
return 0;
}
提前致谢。
【问题讨论】:
-
在
for和if语句中始终使用花括号是最佳实践,它可以使您的代码更加清晰并消除歧义。 -
我保留了一本教科书的原始代码。
标签: objective-c if-statement for-loop