01/10/2018, 01:00
Báo lỗi: warning: passing argument 1 of 'calloc' makes integer from pointer without a cast [-Wint-conversion]
Mình có 1 đoạn code sau dù chạy được nhưng bị báo lỗi như tiêu đề, không biết có bạn nào biết lí do hay không?
#include <stdio.h>
#include <stdlib.h>
typedef struct {
float GPA;
char MSSV[100], Name[100];
} students;
int main(int argc, char** argv) {
int n;
students *list = (students* ) calloc (&n, sizeof (students));
printf("Nhap so hoc sinh ban muon quan ly: ");
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
printf("Nhap MSSV: ");
fpurge(stdin);
gets(list[i].MSSV);
printf("Nhap ten: ");
fpurge(stdin);
gets(list[i].Name);
printf("Nhap GPA: ");
fpurge(stdin);
scanf("%f", &list[i].GPA);
}
for (int i = 1; i <= n; i++) {
printf("MSSV: %s
", list[i].MSSV);
printf("Name: %s
", list[i].Name);
printf("GPA: %f
", list[i].GPA);
printf("---------------------------
");
}
return (EXIT_SUCCESS);
}
Bài liên quan
Do bạn truyền địa chỉ của
n
vào nên lỗi, hàm này chỉ nhận 2 tham số kiểu số nguyên.Sử lại
...calloc(n, ...)
Bạn tham khảo lại cách sử dụng hàm calloc ở đây
http://www.cplusplus.com/reference/cstdlib/calloc/