计算一个数组的字段数已满

时间:2014-11-18 16:39:09

标签: c arrays

嘿伙计们我想在C中使用一个结构,看看数组的女巫是空的,并计算有多少数组已经满了

结构法

    typedef struct
{
    char nome[30];
    int num_juiz;
} juiz;

typedef struct
{
    char nome[30];
    int num_atleta;
} atleta;

功能

void inserir_pontuacao(nota inserir[],juiz juiz[], atleta atleta[])
{
    int njuiz=1;
    int natleta=1;
    int i=1;
    while (i<=100)
    {
        if(strcmp(juiz[i].num_juiz, NULL))
        {
            njuiz++;
        }
        if(strcmp(atleta[i].num_atleta, NULL))
        {
            natleta++;
        }
        i++;
    }
    printf("%d\n",njuiz);
    printf("%d\n",natleta);
}
你能帮我吗? 感谢

1 个答案:

答案 0 :(得分:0)

JoãoReis,

您正在使用strcmp函数来比较整数元素。 正确的比较可能是:

if ( juiz[i].num_juiz > 0 )
  njuiz++;

也许,如果你想使用strcmp,你应该将数据类型更改为char *,如下所示:

typedef struct
{
    char nome[30];
    char num_juiz[8];
} juiz;

[编辑]此外,您应该查看您的设置功能,以确保您的数据正确添加到struct。例如:

for ( i = 0; i < MAX_JUIZES; i++ ) 
  juiz[i].num_juiz = 20

[Edit2]确保您的函数参数在外部正确声明。记住它的一系列结构。与链接列表类似。

相关问题