Я получаю предупреждение Возвращение из несовместимого типа указателя в строке, где я возвращаю саррей, почему же? Я пытался выяснить, на некоторое время теперь .. Я также получаю предупреждение для несовместимого типа указателя в строкевозврат из несовместимого типа указателя?
(*iarray)[CHARACTER_LIMIT] = scanCode();
, но я думаю, что если я установил первую часть, это было бы легче исправить это.
#include <stdio.h>
#define MAX_WORDS 9054 //Scope variables
#define CHARACTER_LIMIT 6
#define MAX_TRIPLETS 3018
char** scanCode(void)
{
FILE *in_file;
int i = 0;
static char sarray[MAX_WORDS][CHARACTER_LIMIT];
in_file = fopen("message.txt", "r");
for(i=0; i<WORD_COUNT_MAX; i++) {
fscanf(in_file,"%s", sarray[i]);
}
return sarray;
fclose(in_file);
}
int main(void)
{
char (*iarray)[CHARACTER_LIMIT] = scanCode();
while(1);
return 0;
}
Ваша копия/вставка вашего кода либо сломана, либо ваш фактический код - ваше потерянное ключевое слово for на этой строке: (i = 0; i
Чтобы быть ясным, это ошибка. Некоторые компиляторы сообщают о ошибках как «предупреждение» по неясным причинам. –
[Массив массивов - это не то же самое, что указатель на указатель] (http://stackoverflow.com/questions/18440205/casting-void-to-2d-array-of-int-c/18440456#18440456) , –