Моя проблема в том, что моя программа регистрирует только последнее слово в cad []:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 4
void main()
{
char *cad[N];
for(int i=0;i<N;i++)
{
char word[100];
printf("Escribe algo : ");
scanf("%s",word);
cad[i] = (char*)malloc((strlen(word)+1)*sizeof(char));
cad[i] = word;
}
for (int i = 0; i < N; i++)
printf("%s\n",cad[i]); //just print the last word registered
}
Например, идея состоит в том, если cad[1] = "Hello", ...cad[n] = "Yea"
, все слова зарегистрированы в соответствующих полях, но когда я printf
все cad
от 0
до n-1
все cad[i]
просто записываю последнее слово, которое равно "yea"
.
В чем проблема и как ее решить ?