Я пишу программу, которая принимает целое число, а затем создает массив массивов char и находит номер каждого вхождения каждого символа во всех строках.Этот двумерный массив имеет размер "lineNumber".Код показан ниже.Проблема в том, что когда я получаю более 3 цифр, он перестает работать и выходит.Я действительно обнаружил, что проблема заключается в объявлении массива массивов символов.Можете ли вы сказать мне, как преодолеть эту проблему?Например, я хочу взять 1000 строк?Проблема не в функции scanf, я знаю это.Вы можете исправить мой код?
printf("Number of lines: ");
int lineNumber;
int n = scanf("%d", &lineNumber);
if (n == 0) {
puts("Use integers.");
return n;
}
char lines[lineNumber][1024]; /* It can't declare more than 3 digit integer */
int i = 0;
for (;i < lineNumber; i++) {
printf("%d: ", i+1);
fgets(lines[i], 1024, stdin);
lines[i][strlen(lines[i])-1] = '\0';
}
/* count the number of occurrence of every char in all lines */