Я выполняю упражнение на https://www.codingame.com/, чтобы попрактиковаться с некоторыми указателями C.
Задача состоит в том, чтобы перевести вводимые символы в искусство ASCII.Например, буква A:
#
# #
###
# #
# #
https://www.codingame.com/ide/puzzle/ascii-art
Весь алфавит ASCII предоставляется в виде одного ввода из разных строк (от A до Z плюс?):
# ## ## ## ### ### ## # # ### ## # # # # # ### # ## # ## ## ### # # # # # # # # # # ### ###
# # # # # # # # # # # # # # # # # ### # # # # # # # # # # # # # # # # # # # # # # # #
### ## # # # ## ## # # ### # # ## # ### # # # # ## # # ## # # # # # # ### # # # ##
# # # # # # # # # # # # # # # # # # # # # # # # # # ## # # # # # # # # ### # # # #
# # ## ## ## ### # ## # # ### # # # ### # # # # # # # # # ## # ### # # # # # # ### #
Я пытаюсь сохранить алфавит в виде двойного указателя (alphabet_input).
char ** alphabet_input;
int main()
{
int length = 4;
int height = 5;
alphabet_input = (char **)malloc(sizeof(char *)*height);
for (int i = 0; i < height; i++) {
char ROW[1025];
fgets(ROW, 1025, stdin);
alphabet_input[i] = ROW;
// print alphabet lines for the first time
printf("%s", alphabet_input[i]);
}
// print alphabet lines for the second time
printf("%s", alphabet_input[0]);
printf("%s", alphabet_input[1]);
printf("%s", alphabet_input[2]);
printf("%s", alphabet_input[3]);
printf("%s", alphabet_input[4]);
return 0;
}
Однако, когда я пытаюсь распечатать его, я неоднократно получаю последнюю строку.Вот что я получаю в результате:
# ## ## ## ### ### ## # # ### ## # # # # # ### # ## # ## ## ### # # # # # # # # # # ### ###
# # # # # # # # # # # # # # # # # ### # # # # # # # # # # # # # # # # # # # # # # # #
### ## # # # ## ## # # ### # # ## # ### # # # # ## # # ## # # # # # # ### # # # ##
# # # # # # # # # # # # # # # # # # # # # # # # # # ## # # # # # # # # ### # # # #
# # ## ## ## ### # ## # # ### # # # ### # # # # # # # # # ## # ### # # # # # # ### #
# # ## ## ## ### # ## # # ### # # # ### # # # # # # # # # ## # ### # # # # # # ### #
# # ## ## ## ### # ## # # ### # # # ### # # # # # # # # # ## # ### # # # # # # ### #
# # ## ## ## ### # ## # # ### # # # ### # # # # # # # # # ## # ### # # # # # # ### #
# # ## ## ## ### # ## # # ### # # # ### # # # # # # # # # ## # ### # # # # # # ### #
# # ## ## ## ### # ## # # ### # # # ### # # # # # # # # # ## # ### # # # # # # ### #
Я ожидал, что входные данные будут напечатаны дважды:
# ## ## ## ### ### ## # # ### ## # # # # # ### # ## # ## ## ### # # # # # # # # # # ### ###
# # # # # # # # # # # # # # # # # ### # # # # # # # # # # # # # # # # # # # # # # # #
### ## # # # ## ## # # ### # # ## # ### # # # # ## # # ## # # # # # # ### # # # ##
# # # # # # # # # # # # # # # # # # # # # # # # # # ## # # # # # # # # ### # # # #
# # ## ## ## ### # ## # # ### # # # ### # # # # # # # # # ## # ### # # # # # # ### #
# ## ## ## ### ### ## # # ### ## # # # # # ### # ## # ## ## ### # # # # # # # # # # ### ###
# # # # # # # # # # # # # # # # # ### # # # # # # # # # # # # # # # # # # # # # # # #
### ## # # # ## ## # # ### # # ## # ### # # # # ## # # ## # # # # # # ### # # # ##
# # # # # # # # # # # # # # # # # # # # # # # # # # ## # # # # # # # # ### # # # #
# # ## ## ## ### # ## # # ### # # # ### # # # # # # # # # ## # ### # # # # # # ### #
Как мне манипулировать индексами alphabet_input для правильной печати каждой строкикак строка?
Я действительно запутался, потому что печать внутри цикла for работает нормально.Однако сразу после этого индексация, похоже, не работает.