得到这个错误:
尝试编译时:
int main(void)
{
Aluno *a[5];
a[0] = cria_aluno(1, "turma1", "Joao", 7.0, 8.4, 4.3);
a[1] = cria_aluno(2, "turma2", "Maria", 3.2, 5.1, 10.0);
a[2] = cria_aluno(3, "turma3", "Rafael", 8.1, 3.2, 4.5);
a[3] = cria_aluno(4, "turma4", "Jose", 1.3, 7.7, 9.3);
a[4] = cria_aluno(5, "turma5", "Lais", 4.5, 1.3, 9.9);
ordena(5, a);
return 0;
}
多数民众赞成在我的cria_aluno函数:
Aluno *cria_aluno(int mat, char turma, char nome, float p1, float p2, float p3)
{
Aluno *a;
a = (Aluno*) malloc(sizeof(Aluno));
if(a == NULL)
{
printf("Memoria insuficiente");
return NULL;
}
a->mat = mat;
a->turma = turma;
strcpy(a->nome, nome);
a->p1 = p1;
a->p2 = p2;
a->p3 = p3;
return a;
}
最佳答案
更改为
Aluno *cria_aluno(int mat, const char* turma, const char* nome, float p1, float p2, float p3)
“turma1”等类型为
const char*
,而不是char
关于c++ - 帮助C错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5936430/