我在拨打comparaTo
时遇到分段错误。我已经尝试了一些方法来传递参数,我认为错误就是它。
typedef struct No{
struct Object * valor;
/** ramo de nós esquerda */
struct No * esq;
/** ramo de nós centro */
struct No * cnt;
/** ramo de nós direita */
struct No * dir;
}No;`
typedef struct Object {
char nome[MAX_NOME];
int idade;
float altura;
}Object;
int comparaTo(struct Object * a, struct Object * b){
int resto = (a->idade + b->idade)%3;
return resto;
}
void insere(struct No ** T, struct No * x){
int resto = comparaTo((**T).valor, (*x).valor);
if(resto == 0){
(*T)->esq = x;
}
else if(resto == 1){
(*T)->cnt = x;
}
else{
(*T)->dir = x;
}
}