【发布时间】:2012-08-05 01:52:53
【问题描述】:
typedef struct Data* DATAS;
struct Data {
char *name;
char *city;
DATAS next;
};
typedef struct Data DATA;
int main(void){
DATAS tmp;
tmp=(DATAS) malloc(sizeof(DATA));
printf("please enter name:\n");
scanf("%s",&tmp->name);
printf("%s\n",&tmp->name);
printf("please enter city:\n");
scanf("%s",&tmp->city);
printf("%s\n",&tmp->name);
printf("%s\n",&tmp->city);
return 0;
}
这是家庭作业的一部分。或者更确切地说,这个概念是。我需要使用'typedef struct Data* DATAS;'这让我失望。当我运行它时,我会用城市的一部分覆盖名称,所以我得到了这个结果。
please enter name:
name
name
please enter city:
city
namecity
city
任何帮助都会很棒。谢谢。我已经使用
尝试了不同的 malloc 变体tmp=(DATAS) malloc(sizeof(DATA));
tmp=(DATA) malloc(sizeof(DATA));
【问题讨论】: