我的第一个循环不起作用

时间:2016-12-03 15:24:18

标签: c loops cs50

我是编码新手,无法理解为什么我的代码不能正常工作? 任何语法错误?

{{1}}

程序要求高度,然后得到它并退出。 (循环不起作用)。

2 个答案:

答案 0 :(得分:1)

好的,让我们检查代码的开头:

mu

这里你要说的是高度应该低于零或高于23.金字塔的高度是否可以?最好切换到:

while (height < 0 || height > 23);

此外,您暂时使用while(height< 23) 。虽然语法是这样的:

;

我尝试运行你的代码,看起来你的逻辑错了。例如,在while(condition) { do something; } 内,您不会修改循环的条件,使其成为无限循环。只需正确调整while即可。

编辑 - 由于您使用for,语法是:

Do/While

您希望在循环中执行的操作需要位于do { something; } while(condition); 括号内。

答案 1 :(得分:0)

编辑:此答案已脱离上下文,因为OP编辑了他们的帖子。当我回答时,没有do { } while声明)

除了其他人对语法错误和程序逻辑的说法外,我还建议您在错误的地方小心分号。当你写这样的东西时:

while (height < 0 || height > 23);

...只要条件为真,你就会使程序循环而不做任何事情。 ;使你的while循环体变空。

其他结构也可能发生这种情况。看到人们在论坛中抱怨他们花了整整一夜的时间跟踪一个错误,发现它是错误的地方分号,这是很常见的。

我的提示是:始终使用大括号。即使他们似乎没必要。