错误:使用未声明的标识符

时间:2015-04-21 14:15:18

标签: c cs50

我试图运行此代码,但我一直在努力:

:21:20: error: use of undeclared identifier 'r'
for(int s = h - r; s > 0;s--)

但我似乎无法弄清楚为什么我会收到错误。任何人都可以帮助我吗?

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

int main(void)
{
    int h;
    do
    {
        printf("please give me a positive int between 1 and 23: ");
        h = GetInt();
    }
    while (h < 1 || h > 23);
    //get int and store it 


    for(int r = 0; r < h; r++)
    {
        printf("#");
    }

    for(int s = h - r; s > 0;s--)
    {
        printf(" ");
    }      
}

1 个答案:

答案 0 :(得分:2)

您最好在r开始之后立即声明main,就像您当前的代码一样,您只为r循环声明for

int main() {
    int r=0, h=0;

    // add other code here
    // don't forget h=GetInt()

    for(r = 0; r < h; r++)
    {
        printf("#");
    }

    for(int s = h - r; s > 0;s--)
    {
        printf(" ");
    }      
}