Вы обрабатываете массив name
, как если бы он был определен следующим образом:
char *name[5];
Так что либо определите его таким образом, либо используйте следующий код для его заполнения:
strcpy(name[0], "abc");
strcpy(name[1], "abc");
strcpy(name[2], "abc");
strcpy(name[3], "abc");
strcpy(name[4], "abc");
Я предпочитаю прежний выбор.Дело в том, что вы пытаетесь присвоить char *
для char []
, для чего strcpy
.В любом случае, поскольку вы в этом случае манипулируете инициализированными строками C, вы также можете иметь дело с char *
во всем коде.