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