Hỏi về cách tự quy định độ lớn của array

Xin chao moi nguoi
that xin loi vi dang ngoi may tinh nen khong co unikey, minh muon hoi rang code nay cua minh sai o cho nao?

 #include <stdlib.h>
 #include <stdio.h>

 int main()
 {
     int *arr=NULL; 
     int num,i;
     
     printf("array bn so: \n");
     scanf("%d", &num);
     
     arr = (int*)malloc(num * sizeof(arr));
     printf("dien so vao: \n");
     for (i = 0; i < num; i++);
     {
         scanf("%d", &arr[i]);
     }
     
     printf("so: \n");
     for (i= 0;i < num; i++)
     {
         printf("%d\n",arr[i]);
     }
 return 0;
 }

sửa lại thành arr = (int *)malloc(num * sizeof(int));
arr chỉ là 1 cái mảng thì sizeof cho nó làm gì ?

để scanf("%d", arr + i); cho nó nhanh-gọn-lẹ :joy:

1 Like

van khong chay,khi minh go so 10 vao thi hien ra 10 so khong 0 :frowning:

Lỗi ở chỗ này nè bạn!

1 Like

sua thanh the nao gio ban? minh sua thanh for(i=0;i< sizeof(arr);i++) cung ko dc

Bạn thừa dấu ; ở cuối vòng for :smile:

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?