Em đang học về các loại cấp phát động. Em thử viết 1 chương trình cấp phát động cho struct
code:
struct my_struct
{
int age;
char name[10];
};
void input(struct my_struct *q)
{
printf("nhap ten: ");
scanf("%s",q->name);
printf("nhap tuoi: ");
scanf("%d",q->age);
}
void output(struct my_struct *q)
{
printf("%s\n",q->name);
printf("%d\n",q->age);
}
int main()
{
struct my_struct *test = (struct my_struct *)malloc(sizeof(struct my_struct));
input(test);
output(test);
free(test);
}
Input:
name: xxxx
age: 20
Output:
name: xxxx
age: 11034128
Mỗi lần nhập input thì chỉ có display của name là đúng, còn tuổi thì ra con số rất lạ. Số này cũng thay đổi mỗi lần chạy. Vậy code của e đang bị gì ạ ??
Thanks all
Edit: đã fix được ạ
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?