我試圖運行一個代碼,但它無法生成。我想讀取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;' - 不。你不能這樣做。 –
你的代碼有多個問題,你想要做什麼? –
您正在返回'lenomes'中'char'的指針,其中'int'作爲返回類型。你聲明瞭兩次'nomes'(一次在'main'的開頭,另一次在循環中)。 – ForceBru