循环格式化

时间:2015-06-28 00:51:37

标签: ios objective-c

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
     NSInteger n = 5;
     NSInteger nFactorial = n;
     while (n > 1) {
         nFactorial = nFactorial * --n;
     }
     NSLog(@"The factorial of %ld is %ld", (long)n, (long)nFactorial);
     return YES;
 }

对于此代码,为什么必须将nFactorial初始化为n?为什么代码只能在所有包含nFactorial的地方使用n?

1 个答案:

答案 0 :(得分:0)

  1. 为了使第一个循环得到正确的结果。
  2. nFactorial = nFactorial * --n,' - '具有更高的优先级。
  3. 如果使用n替换nFactorial,则第二个nFactorial的值不是我们的例外。