【发布时间】:2020-07-24 08:41:59
【问题描述】:
我正在写这篇文章,因为我已经尝试了一段时间但没有取得任何成功。我将发布我的代码和错误消息(来自 cs50 week1 课程)。
#include <cs50.h>
#include <stdio.h>
int main(void)
{
do {
int h = get_int("Height of your pyramid please\n");
}
while(h < 1 && h > 8);
}
for(int i = 0; i < h; i++) {
for(int j = 0; j < h; j++) {
printf (" ");
}
for(int k = h; k < h; k--) {
printf(" # ");
}
printf("\n");
}
错误信息如下:“mario.c:12:11: error: use of undeclared identifier 'h'
通过“未声明的标识符”,clang 表示您在 mario.c 的第 12 行使用了尚未定义的名称 h。如果您打算将 h 用作变量,请确保通过指定其类型来声明它,并检查变量名称的拼写是否正确。”。此外,代码应该制作一个朝右的金字塔。 谢谢你的帮助! 拉格纳罗尼 PS:如果有什么奇怪的地方看起来很抱歉,请告诉我如何纠正它,我会的。
【问题讨论】:
-
您在
h循环内声明变量h,这意味着您不能在循环外使用它。只需在循环之前将其声明为int h;。 -
也作为一个 SO 提示,使用代码围栏将文本格式化为代码,只需在代码前后添加一行
~~~。 -
你的 for 循环在 main() 函数之外。在 do-while 函数之外声明 h 是个好主意。正确的格式是编码的武器