我的节目有三个警告。
首先:
passing argument 1 of " " from incompatible pointer type at line 18 and assigment makes integer from pointer without a cast at line 37
这是我的计划:
#include <stdio.h>
struct Equipo {
char nombre [20];
int goles[7];
};
struct Equipo resultados [6];
void LeerFich(struct Equipo *resultados);
void main()
{
struct Equipo *equipos;
LeerFich(&equipos); //warning here
Buscar(equipos);
MarcaCero(equipos);
}
//Funciones
void LeerFich(struct Equipo *resultados)
{
FILE *F;
F= fopen("C:\\Users\\Paco\\Downloads\\datosLiga.txt", "r");
fgets(resultados->nombre, 20, F);
fscanf(F, "%d", &resultados->goles);
fclose(F);
}
int Buscar(struct Equipo resultados[6], int v[6])
{
int i, *maximo, sum, *equipo, t=6;
for(i=0; i<6; i++){
sum += resultados[i].goles; //warning here
if(resultados[i].goles>maximo)
maximo=resultados[i].goles;
*equipo=i;
}
while(i<t && v[i]!=*equipo)
i++;
if(i==t)
printf("el equipo es: %s\n", resultados[*equipo].nombre);
printf("ha marcado %d goles\n", *maximo);
}
int MarcaCero(struct Equipo resultados[6])
{
int i, v[6];
for(i=0; i<6; i++){
if(resultados[i].goles[0]==0 && resultados[i].goles[7]==0)
i=v[i];
}
for(i=0; i<6; i++)
printf("\nel equipo %s no marco", resultados[v[i]].nombre);
}
答案 0 :(得分:11)
替换
LeerFich(&equipos); //warning here
通过
LeerFich(equipos);
equipos
已经是struct Equipo *
类型,无需使用其地址。
答案 1 :(得分:1)
LeerFich(&equipos);
这里你发送的是指令变量的地址,声明
无法接收使用:LeerFich(equipos);