我是编码新手,无法理解为什么我的代码不能正常工作? 任何语法错误?
{{1}}
程序要求高度,然后得到它并退出。 (循环不起作用)。
答案 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循环体变空。
其他结构也可能发生这种情况。看到人们在论坛中抱怨他们花了整整一夜的时间跟踪一个错误,发现它是错误的地方分号,这是很常见的。
我的提示是:始终使用大括号。即使他们似乎没必要。