Мне нужно сделать программу такой, чтобы при вводе клавиши возврата она продолжалась с программой и снова печатала начальные строки.
Я пытался разрешить его с помощью (case '\ n'), но это не сработало, и я попробовал несколько вариантов getchar (), но у меня возникла та же проблема.
void main()
{
char nameA[100];
char nameB[100];
char command;
int height;
int quit = 1;
struct node *ring1 = NULL;
struct node *ring2 = NULL;
while(quit)
{
printf("command? ");
scanf("%c", %command, 1);
switch (command)
{
case 'q':
printf("bye\n");
quit = 0;
break;
case 't':
printf("name? ");
scanf(" %[^\n]", nameA);
printf("height? ");
scanf(" %d", &height);
ring1 = insert_tail(ring1, nameA, height);
break;
case '\n':
break;
default:
break;
}
}
}
Я хочу иметь возможность напечатать
Команда
команда? ...
Проблема в том, что если я использую "% c", я проигнорирую новую строку, и если я буду использовать "% c", результат будет выглядеть так:
команда?
команда? ...
но, скажем, в моем коде используется команда 't', результат будет выглядеть как
команда? т
имя? Everest
высота? 8848
команда? команда?
Как я могу это исправить? Я предполагаю, что проблема заключается в том, что я на самом деле ввожу два символа, «t» и «\ n», но я понятия не имею, как обойти это.