這裏我想通過指向一個數組來保存輸入字符串,但是輸出將全部變爲最後插入的輸入。如何通過指向字符串數組保存輸入?
char **month;
int row, col;
int i, j;
char name[10];
month = (char **)malloc(3*sizeof(char *));
for (int i = 0; i < 3; i++)
{
month[i] = (char *)malloc(10*sizeof(char));
printf("Enter name\n");
scanf("%s", name);
month[i] = name;
}
for (int i = 0; i < 3; i++)
{
printf("%s\n", month[i]);
}
return 0;
任何想法如何解決它?
[請參閱爲什麼不能投本討論返回值malloc()和家庭在C ..](https://stackoverflow.com/q/605845/2173917) –
供參考:'sizeof(char)'總是1.此外,沒有真正的好處分配這麼小的記憶。只要用char char [3] [10]'去。 –