我认为把main
函数中的int voter_count
也用在我的print_winners
函数中是很实用的,但是由于int voter_count
没有像i nt candidates_count
那样在main
函数之前引入,所以我不能使用voter_count int
。
当我在main
函数中的main
之前引入int
,并在main
函数被调用时删除voters_count
之前的int
时,我的代码可以正常工作,我尝试的所有场景都可以正常工作。
但是我知道我们不应该更改main
函数中的代码,即使更改了main
函数,我的代码仍然没有通过检查50。
有人知道为什么我的代码没有通过check50吗?
void print_winner(void)
{
for (int c = voter_count; (c > 0); c--)
{
int u = 0;
for (int j = 0; (j < candidate_count); j++)
{
if (candidates[j].votes == c)
{
u++;
printf("%s \n", candidates[j].name);
}
}
if (u != 0)
{
return;
}
}
}
检查响应:
voter_count = get_int("Number of voters: ");
这里我通过删除voter_count
之前的int
来更改main
函数,因为
//Numver of votes
int voter_count;
我把程序介绍到int
上面的头文件中。
1条答案
按热度按时间am46iovg1#
C中的函数可以使用全局变量(但请不要使用)、局部变量或它们的参数。一个函数中的局部变量不能在另一个函数中访问。
例如:
但是,我们可以将
bar
作为参数传递给foo
。以下方法可以使用,但您 * 不应该 * 使用它。