как сохранить, а затем распечатать 2-й массив символов / строк?

Предположим, у меня есть слова: тигр, лев, жираф.

Как я могу сохранить его в двумерном массиве char используя for цикла и scanf а затем печатать слова один за другим с помощью цикла for ?

Что-то вроде

 for(i=0;i<W;i++) { scanf("%s",str[i][0]); //to input the string } 

PS Извините за задание такого основного вопроса, но я не нашел подходящего ответа на Google.

Сначала вам нужно создать массив строк.

 char arrayOfWords[NUMBER_OF_WORDS][MAX_SIZE_OF_WORD]; 

Затем вам нужно ввести строку в массив

 int i; for (i=0; i 

Наконец, в oreder для их печати используйте

 for (i=0; i 
 char * str[NumberOfWords]; str[0] = malloc(sizeof(char) * lengthOfWord + 1); //Add 1 for null byte; memcpy(str[0], "myliteral\0"); //Initialize more; for(int i = 0; i < NumberOfWords; i++){ scanf("%s", str[i]); } 

Вы можете сделать это.

1) Создайте массив указателей символов.

2) Выделите память динамически.

3) Получите данные через scanf. Простая реализация ниже

 #include #include int main() { char *str[3]; int i; int num; for(i=0;i<3;i++) { printf("\n No of charecters in the word : "); scanf("%d",&num); str[i]=(char *)malloc((num+1)*sizeof(char)); scanf("%s",str[i]); } for(i=0;i<3;i++) //to print the same { printf("\n %s",str[i]); } } 
 #include int main() { char str[6][10] ; int i , j ; for(i = 0 ; i < 6 ; i++) { // Given the str length should be less than 10 // to also store the null terminator scanf("%s",str[i]) ; } printf("\n") ; for(i = 0 ; i < 6 ; i++) { printf("%s",str[i]) ; printf("\n") ; } return 0 ; }