В следующем коде Objective-C, когда первый внутренний оператор 'if' удовлетворен (true), означает ли это, что цикл завершается и переходит к следующему оператору?
Кроме того, когда после однократного выполнения он возвращается к внутреннему оператору '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;
}
Заранее спасибо.