Вы на правильном пути, но вот несколько указателей.
Я не уверен, что такое *string[]
, но, поскольку вы заранее знаете размер вашего массива, вы можете создать массив фиксированного размера char*
для хранения ваших строк следующим образом
char* arr[6] = {"zero\0", "one\0", ..., "five\0"};
Обратите внимание, что массив имеет тип (char*
) и имя (arr
).
Далее вы можете прочитать номер, который хотите напечатать
int c = getchar();
И вы можете использовать ранее определенный массив, чтобы получить правильную строку и зациклить ее, печатая по одному символу за раз с putchar
char* str = arr[c];
for (int i = 0; str[i] != '\0'; i++) {
putchar(str[i]);
}
putchar('\n');
И, как указано Groo , строковые литералы неявно завершаются нулем, поэтому вам не нужно включать \0
в ваши строки. Массив может быть просто
char* arr[6] = {"zero", "one", ..., "five"};
И все будет работать.