Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 计算数组中有多少字段已满_C_Arrays - Fatal编程技术网

C 计算数组中有多少字段已满

C 计算数组中有多少字段已满,c,arrays,C,Arrays,嘿,伙计们,我想用C中的一个结构,看看数组中的witch是空的,并计算有多少数组是满的 结构 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[]

嘿,伙计们,我想用C中的一个结构,看看数组中的witch是空的,并计算有多少数组是满的

结构

    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);
}
void inserir_pontuaco(nota inserir[],juiz juiz[],atleta atleta[])
{
int njuiz=1;
int-natleta=1;
int i=1;
而(iJoão Reis

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

if ( juiz[i].num_juiz > 0 )
  njuiz++;
也许,如果要使用strcmp,应该将数据类型更改为char*,如下所示:

typedef struct
{
    char nome[30];
    char num_juiz[8];
} juiz;
[编辑]此外,您应该查看设置功能,以确保数据正确添加到结构中。例如:

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

[Edit2]确保函数参数在外部正确声明。记住它是一个结构数组。类似于链表。

strcmp(ANY,NULL)
是错误的。数组索引应该从0..99开始,而不是1..100(假设100个元素)我该怎么做呢?老师说什么时候做?为什么不能在结构中再添加一个字段呢?比如说
isUsed
,当你在字符数组中写入一些内容时,将其设置为1,当它为空时,将其设置为0