如何在C语言的另一个函数中使用局部变量(未声明的标识符)(作用域规则)



我正在学习C语言编程,但我遇到的问题是,当它编译时,它会说"n是未声明的标识符"n";在";而(k<n(〃;。我认为这是一个范围问题,但我不知道如何解决。>

#include <stdio.h>
int get_start_size(void);
int get_end_size(void);
int main(void)
{
// Prompt for start size
int i = get_start_size();
// Prompt for end size

int j = get_end_size();
}

int get_start_size(void)
{
int n;
do
{
n = get_int("Start size: ");
}
while (n < 9);
return n;
}
int get_end_size(void)
{
int k;
do
{
k = get_int("End size: ");
}
while (k < n);
return k;
}

您应该传递要用作参数的值。

#include <cs50.h>
#include <stdio.h>
int get_start_size(void);
int get_end_size(int limit); // add parameter
int main(void)
{
// Prompt for start size
int i = get_start_size();
// Prompt for end size

int j = get_end_size(i); // pass parameter
}

int get_start_size(void)
{
int n;
do
{
n = get_int("Start size: ");
}
while (n < 9);
return n;
}
int get_end_size(int limit) // add parameter
{
int k;
do
{
k = get_int("End size: ");
}
while (k < limit); // use the parameter
return k;
}

最新更新