int main (int argc, const char * argv[])
{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
int n, number, triangularNumber;
NSLog(@"What Triangular Number Do You Want?");
scanf(@"%i", &number);
triangularNumber = 0;
for (n = 1; n <= number; ++n)
triangularNumber += n;
NSLog(@"Triangular Number %i is %i", number, triangularNumber);
[pool drain];
return 0;
}当我写一个整数时,输出如下:
Triangular Number 0 is 0发布于 2011-08-09 22:56:29
您的输入数字是0,而for循环中的条件从1开始。因此,该循环永远不会执行。
发布于 2011-08-09 22:42:22
它应该是:
for (n = 1; n <= number; ++n) {
triangularNumber += n;
NSLog(@"Triangular Number %i is %i", number, triangularNumber);
}按照您编写它的方式,它被解析为:
for (n = 1; n <= number; ++n) {
triangularNumber += n;
}
NSLog(@"Triangular Number %i is %i", number, triangularNumber);由于输入(number)为0(如print所示),因此不会发生循环,但仍会打印该行。
https://stackoverflow.com/questions/6997954
复制相似问题