我正在学习一段代码,我不知道如何仅使用一个函数实现此功能?如何将参数传递给函数?
#include <stdio.h>
struct colleagues {
int female[10];
int male[10];
} teams[20];
void func(int count[])
{
for (int i = 0; i < 10; i++) {
printf("%dn", count[i]);
}
}
//FIXME
void showCnt(void (*function)(int *), int XXX[])
{
for (int n = 0; n < 20; n++) {
func(teams[n].XXX);
}
}
int main()
{
//How can i just use only one function showCnt to do this work???, I'm so appreciated.
//***FIXME, How can i pass parameters "teams.female" to showCnt???***
showCnt(function, teams.female);
showCnt(function, teams.male);
return 0;
}
对不起,我没有说清楚。我不知道如何将参数"teams.male"作为数组传递给showCnt(),我想知道如何分别调用showCnt()两次来打印信息。
例如,首先,它调用showCnt(teamXX.female),其次,它调用showCnt(teamXXX.male)。我不知道我是否可以将参数传递给showCnt()以使"func(team[n].male)"和"func(team[n].female)"正常工作。
如果我理解正确,您只想称showCnt
为
showCnt(function);
它应该同时打印teams.female
和teams.male
?
然后首先从函数中删除(错误的)count
参数showCnt
。然后在showCnt
循环内用teams[n].female
和teams[n].male
调用function
两次。