Я пытаюсь распечатать двухмерный массив строк, используя приведенный ниже массив, и сопоставить каждую фразу числом от 0 до 3. Когда я пытаюсь распечатать каждую фразу, слова совпадают и распечатываются неправильно.Как напечатать двухмерный массив строк (с пробелами) в C?
char PhraseList[4][10]= {" Work Hard","Play Hard ","Enjoy","Live"};
Как я могу распечатать каждую фразу на отдельной строке, так что «Трудолюбивый» печатает на одной линии, то «Play Hard» на другую линию, а затем «Enjoy» на другой и т.д. Кроме того, как я могу ассоциировать каждую фразу с номером? Любая помощь \ предложения будет принята с благодарностью!
Вот мой код:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <ctype.h>
#include <string.h>
#include <math.h>
int main()
{
char PhraseList[4][10]= {" Work Hard","Play Hard ","Enjoy","Live"};
int i;
for(i=0; i<4; i++)
{
printf("%s \n", PhraseList[i]);
}
printf("\n\n");
system("PAUSE");
return 0;
}
Выход:
Work HardPlay Hard Enjoy
Play Hard Enjoy
Enjoy
Live
Press any key to continue . . .
Почему у вас есть начальное и конечное пространство в первой и второй строковой записи? Это намеренно? Если это так, вам нужно увеличить размер второго измерения массива. – CinCout
Off-topic: если вы действительно хотите использовать 'system (" pause ")', то почему бы не использовать 'system (« echo Work Hard »)' (и т. Д.)? – usr2564301