如何让我的 do while 循环在 C 中工作?
How do I get my do while loop to work in C?
我是编程新手,甚至是 C 语言的新手,所以请多多关照....我目前正在解决一个问题,需要我输入 'height' 并打印一个三角形适当的高度。高度不能超过 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;
}
您需要使用||
,即"or"。高度永远不能小于1和大于8,但可以小于1或大于8
我是编程新手,甚至是 C 语言的新手,所以请多多关照....我目前正在解决一个问题,需要我输入 'height' 并打印一个三角形适当的高度。高度不能超过 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;
}
您需要使用||
,即"or"。高度永远不能小于1和大于8,但可以小于1或大于8