objective-c - 带break的for语句中的C逻辑错误

标签 objective-c c xcode

我正在运行这个 C 程序,但它没有回答“答案是 10”,而是发回消息:“答案是 0”,即使它在正确的时间中断。

你能告诉我哪里出了问题吗?


#import <Foundation/Foundation.h>

int main (int argc, const char * argv[])
{
    int i;
    for(int i = 0; i < 12; i++){
        printf("Checking i = %d\n", i);
        if(i + 90 == i * i) {
            break;
        }
    }
    printf("The answer is %d.\n", i);
}

最佳答案

问题是你有两个i

int main (int argc, const char * argv[])
{
    int i; //Declares outer i
    for(int i = 0; i < 12; i++) //Declares a NEW i
    {
        printf("Checking i = %d\n", i);
        if(i + 90 == i * i) 
        {
            break;
        }
    }
    printf("The answer is %d.\n", i); //Uses the outer i
}

关于objective-c - 带break的for语句中的C逻辑错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7958189/

相关文章:

xcode - 如何更新Xcode的SQLITE3版本?

ios - Xcode、 swift : How to center popover box

ios - 触摸时 UITextField 崩溃

ios - UITableView 删除按钮与内容重叠

iOS : NSInteger and NSUInteger comparison

iphone - Objective-C 中的循环 double

c - 写入 struct + write(buf) 指向未初始化的字节

ios - 无法启动 iPhone 模拟器

c - 如何在 C 中使用按位运算符判断一个数字是否等于另一个数字

C 标准库/函数来查找硬件的字节顺序