学员姓名,动态分配内存,存入他们的姓名,并在最后输出;
//(1.)从控制台输入的字符串如何存储,/*定义数组接收*/(2)如何动态计算学员姓名个数并开辟空间/*计算字符串长度+1*/(3),如何存储为三个学员姓名开辟空间之后的地址; /*使用指针数组来存储地址,数组中有三个元素*/
char tempStr[20] = {0};//定义字符数组,用来存储字符串
char *names[3] = {0};
for (int i = 0; i < 3; i++) {
printf("\n请输入学员姓名:\n");
scanf("%s",tempStr);
names[i] = malloc(sizeof(tempStr)+1);
strcpy(names[i], tempStr);
}
for (int i = 0; i < 3; i ++ ) {
printf(" %s ", names[i]);
free(names[i]);
names[i]=NULL;
}
//(1.)从控制台输入的字符串如何存储,/*定义数组接收*/(2)如何动态计算学员姓名个数并开辟空间/*计算字符串长度+1*/(3),如何存储为三个学员姓名开辟空间之后的地址; /*使用指针数组来存储地址,数组中有三个元素*/
char tempStr[20] = {0};//定义字符数组,用来存储字符串
char *names[3] = {0};
for (int i = 0; i < 3; i++) {
printf("\n请输入学员姓名:\n");
scanf("%s",tempStr);
names[i] = malloc(sizeof(tempStr)+1);
strcpy(names[i], tempStr);
}
for (int i = 0; i < 3; i ++ ) {
printf(" %s ", names[i]);
free(names[i]);
names[i]=NULL;
}