Я пытаюсь запустить код, но он не может быть создан. Я хочу читать 3 разных имени до 40 символов, сохранять в одном векторе и печатать. Мне нужно сделать это с помощью функции. Я получаю «Объект с переменным размером не может быть инициализирован» для строки 15. Я считаю, что могу получить эту ошибку, если размер вектора не определен. Я уже пытался определить его с помощью констант (NOMESQUAN и NOMESTAM) и в декларации (nomes [3] [41]), но каждый раз получаю ту же ошибку.объект переменной величины не может быть инициализирован - ошибка C
#include <stdio.h>
#include <stdlib.h>
#define NOMESQUAN 3
#define NOMESTAM 41
int lenomes(int i);
int main()
{
int i;
char nomes[NOMESQUAN][NOMESTAM];
for(i=0; i<3; i++){
char nomes[i][NOMESTAM] = lenomes(i); /*LINE 15*/
}
}
int lenomes(int i){
char nome[NOMESTAM];
printf("Digite o nome %d", i);
gets(nome);
return nome;
}
'return nome;' - Неа. Вы не можете сделать это. –
У вашего кода несколько проблем, что вы пытаетесь сделать? –
Вы возвращаете указатель на 'char' в' lenomes', который имеет 'int' как возвращаемый тип. Вы объявляете «nomes» два раза (один в начале «main», а второй - в цикле). – ForceBru