【问题标题】:countdown via objective c通过目标 c 倒计时
【发布时间】:2012-12-12 03:09:21
【问题描述】:

好的,所以我一直在学习目标 c,我想从 22 开始倒数到 2。我已经成功地从 2 开始倒数到 23,但是当我尝试使用 -- 而不是 ++ 进行倒计时,没有输出。

进口

int main(int argc, const char * argv[]) {

@autoreleasepool {

    int y;
    for (y=23; y<3; y--)
    { NSLog(@"%i",y);}

}
return 0;

}

【问题讨论】:

    标签: objective-c countdown


    【解决方案1】:
    for (y=23; y>3; y--)
    

    问题是您在原始代码中的条件y&lt;3 从未满足。一个 for 循环持续运行,直到该条件返回 false;当您将y 初始化为 23 并检查它是否小于 3 时,循环将永远不会开始运行。

    【讨论】:

    • 谢谢老兄,所以当我插入 y>2 时,它会倒数到 3。计算机通常不会将 y>2 读取为大于 2 的任何数字,而不仅仅是 3?
    • 是的,是的。抱歉,您让我有些困惑-您期望输出是什么?倒数到 3 听起来是对的。除非你只希望它包含 2;在这种情况下,y>=2 就是您要查找的内容。
    • 所以通常表达式 y>2 包括任何大于 2 的数字。在这个循环中,y>2 包括 3,即 2 正上方的数字
    【解决方案2】:

    在您的程序中,y 永远不会小于 3,这就是它从不执行的原因。您的倒计时将从您当前编写的 23 开始。

    更改为for (y=22; y&lt;3; y--)

    【讨论】:

    • 谢谢,我如何让这个程序倒计时 5。如果我尝试输入 y-5,它会给我一个错误声明
    【解决方案3】:

    y 初始化值为 23 ,永远不会小于 3,所以你应该使用 for (y=22; y&gt;=2; y--) ,因此结果将从 22 倒数到 2

    【讨论】:

    • 你说要从22倒计时到2,所以y&gt;=2是循环结束的条件
    猜你喜欢
    • 2011-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-19
    • 1970-01-01
    • 1970-01-01
    • 2012-03-07
    相关资源
    最近更新 更多