簡體   English   中英

如何讓我的 do while 循環在 C 中工作?

[英]How do I get my do while loop to work in C?

我是編程新手,甚至是 C 語言的新手,所以請保持友善.... 我目前正在解決一個問題,該問題需要我輸入“高度”並打印適當高度的三角形。 高度不能超過 8 或低於 1,所以我實現了一個 do while 循環,如果它超過 1 - 8 范圍,它將重新提示用戶輸入高度。 問題是:即使超出范圍,我的代碼也會接受輸入。 到目前為止,這是我的代碼......如果有人能告訴我我是多么愚蠢,我真的很感激。

#include <cs50.h> 
#include <stdio.h>

int get_height(void);
int lineno;
int column_fill;
int main(void)
{
    int height = get_height();
    for (lineno = 1; lineno <= height; lineno++ )
    {
    for(column_fill = 0; column_fill < lineno; column_fill++)
    {
    printf("#");
    }
    printf("\n");
    }
}

int get_height(void)
{
    int height;
    do
    {
        height = get_int("Height: ");
    }while(height < 1 && height > 8);

    return height;
}

您需要使用|| , 意思是“或”。 高度永遠不能小於 1大於 8,但可以小於 1大於 8。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM