Как я могу использовать только одну функцию showCnt () для отображения членов структурных массивов? Как передать параметры? - PullRequest
3 голосов
/ 03 июня 2019

Я изучаю фрагмент кода, я не знаю, как реализовать эту функцию, используя только одну функцию?Как передать параметры в функцию?

#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("%d\n", 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)" работали правильно.

1 Ответ

2 голосов
/ 03 июня 2019

Если я вас правильно понимаю, вы хотите назвать showCnt только как

showCnt(function);

, и на нем должно быть напечатано teams.female и teams.male?

Затем для началаудалить ( ошибочный ) count аргумент из функции showCnt.Затем внутри цикла showCnt вызовите function дважды с teams[n].female и teams[n].male.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...