c - 如何让我的 do while 循环在 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。
推荐阅读
- javascript - React - 在两个现有组件之间渲染组件
- python - 如何使用 OCR 检测图像中的下标数字?
- javascript - 在函数中获取服务器的所有成员| 属性成员未定义 | 包:不和谐赠品
- ios - 更新后的 Apple Developer Program 许可协议需要审核。找不到任何同意接受
- laravel - 在 updateOrCreate 中使用条件语句
- python - Kivy Scrollview 中的图像不可滚动
- javascript - 我可以在没有任何服务器的情况下发送 XHR 请求吗?
- python - 在 Altair 的每个方面子图中显示 x 和 y 标签
- node.js - 如何在猫鼬中获取最新插入的记录_id
- python - 无法将 Django 与 mongoDb 连接