Ho preso il tuo codice pari pari, gli ho solo messo all'inizio 2 include (<string.h> e <stdlib.h>) e poi ho compilato con:
gcc -Wall -c -o prova.o prova.c
Risultato:
Codice:
prova.c: In function `update_figli':
prova.c:17: invalid operands to binary !=
prova.c: In function `add_figlio':
prova.c:30: invalid operands to binary !=
prova.c: In function `rem_figlio':
prova.c:39: invalid operands to binary !=
prova.c:44: syntax error before '}' token
Correzioni:
Codice:
void update_figli(int pid,char * arg){
int i=0;
while(i<MAX_FIGLI && figli[i].pid!=pid) i++;
strcpy(figli[i].cmd,arg);
}
Codice:
void add_figlio(int pid){
int i;
i=0;
while(i<MAX_FIGLI && figli[i].pid!=0) i++;
figli[i].pid=pid;
tot=i;
}
Codice:
void rem_figlio(int pid){
int i,k;
i=0;
while(i<MAX_FIGLI && figli[i].pid!=pid) i++;
if (i==tot) exit(-1);
for(k=i;k<tot;k++) {
figli[k].pid=figli[k+1].pid;
strcpy(figli[k].cmd,figli[k].cmd);
}
tot--;
}