c - 不正确的循环 - CS50 Mario

标签 c loops do-while cs50

所以我对编程完全陌生,目前正在尝试做我的 CS50 Pset。任务是让代码打印出金字塔结构中正确数量的主题标签。我的代码做到了这一点,但我的循环中有一个错误,我的代码在满足条件后只是停止,我希望它打印主题标签并再次运行循环。我真的无法弄清楚我的错误是什么,非常感谢帮助!

int main(void)
{ int n = -1;

do  
{
    n = get_int("Height: ");  
}

while (n < 0 || n > 8);

    for (int i = 0; i < n; i++) 
    {
            for (int j = 0; j <= n; j++)
            {
                if (i + j > (n-1))
                printf("#");
                else
                    printf(" ");
            }
                printf("\n");

            } 

}

我的目标输出是

高度:2

1 个主题标签 2 个主题标签

我得到了这个输出,但我的代码在那之后就停止了,我不知道如何解决这个问题。我尝试在我的代码中使用 do while 循环,但这也不起作用。

最佳答案

您在 while 循环的条件后面放置了一个分号 (';')。这意味着循环体是这个空表达式。

请采用一致的编码风格,正确缩进代码,并始终在每个控制结构上使用花括号。

关于c - 不正确的循环 - CS50 Mario,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57930432/

相关文章:

c - fscanf() 格式字符串 "%30[^$]"在 C 中的作用是什么?

loops - 递归访问 HashMap 中的枚举

javascript - 将超出变量范围

excel - 根据vba中单元格(查找)中可用的值执行while循环

使用 dowhile 进行 C++ 验证

c# - Do-while 仅在输入数字时继续

c - 即使条件成立,wait_event_interruptible 也不会返回

c - main() 上没有参数的段错误

java - 为什么这段 Java 代码比它下面的 Objective-C 代码运行得更快?

android - 如何在循环内动态布局充气机