Я передаю многомерный массив в функцию «read_line», но я получаю только 1D-массив, см. Код ниже.Что делает read_line - читает предложение и сохраняет каждое слово как одну строку в 2D-массиве, но когда я пытаюсь распечатать 2D-массив обратно в основной функции, я получаю только 1D-массив, почему?Большое спасибо за помощь
#include<stdio.h>
#include<string.h>
#define ROW 10
#define COLUMN 10
static char terminating_char;
int read_line(char array_string[ROW][COLUMN], int row_num);
int main() {
int row_num=0;
char array_string[ROW][COLUMN];
printf("Write a sentens: ");
read_line(array_string, row_num);
printf("Reversal of sentence: ");
while (row_num > 0)
printf("%s ", array_string[row_num--]);
printf("%s%c\n", array_string[row_num], terminating_char);
}
int read_line(char array_string[][COLUMN], int row_num) {
char c;
int i=0, j=0;
while ( (c = getchar()) != '\n' && i < ROW)
{
if (c == ' ' || c == '\t') {
array_string[i][j] = '\0';
i++;
j = 0;
continue;
}
if (c == '.' || c == '!' || c == '?') {
terminating_char = c;
array_string[i][j] = '\0';
break;
}
else if (j < COLUMN)
array_string[i][j++] = c;
}
return row_num;
}