Reputation: 1
I'm learning programming in C and i have the problem that when it compiles it says that "n is a undeclared identifier" in "while (k < n)". I think it's a scope problem, but i don't have any idea how to solve it.
#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;
}
Upvotes: 0
Views: 126
Reputation: 75062
You should pass the value to use as a parameter.
#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;
}
Upvotes: 2