我正在尝试构建的循环上需要帮助。我必须写这个for循环,通过在每个循环周期中将计数变量的值增加两倍来打印出值(1,2,4,8,16,32,64)。抱歉,我只是一个努力学习C ++的菜鸟。
#include <iostream>
int main()
{
int i;
for (i = 0; i < 64;)
{
std::cout<< i << std:: endl;
i = i * 2;
}
return 0;
}
我得到的就是(llbd)
我在这里查了几个问题,并提到将该方案更新为gbd-这个版本的xcode显然没有改变方案的选项?
另一个选择是回溯,这就是我得到的......
(lldb) bt
* thread #1: tid = 0x61405, 0x0000000100000d5f scrap2`main + 15 at main.cpp:16, queue = 'com.apple.main-thread', stop reason = breakpoint 3.1
* frame #0: 0x0000000100000d5f scrap2`main + 15 at main.cpp:16
frame #1: 0x00007fff8f3b35c9 libdyld.dylib`start + 1
frame #2: 0x00007fff8f3b35c9 libdyld.dylib`start + 1
(lldb)
我不知道这意味着什么。这对我来说有点太进步了。任何一点知识都将受到赞赏。
答案 0 :(得分:2)
你的循环似乎是一个永无止境的循环,因为i
的值总是0
。它永远不会显示64
,因为您<
小于或等于<=
。
<强>解决方案强>:
Initialize i with a value of 1 and change the < to <=