如何仅使用一个函数 showCnt() 来显示结构数组的成员?如何传递参数?



我正在学习一段代码,我不知道如何仅使用一个函数实现此功能?如何将参数传递给函数?

#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.femaleteams.male

然后首先从函数中删除(错误的)count参数showCnt。然后在showCnt循环内用teams[n].femaleteams[n].male调用function两次

最新更新