Вот минимальная форма кода, подчеркивающая мою проблему.
Код завершается с ошибкой при «выходе» (случай «0») - программа просто падает. Я подозреваю, что это связано с циклом while.
Проблема возникает независимо от того, какой символ я выбираю для случая выхода (вместо «0»).
#include <stdio.h>
void main()
{
int run=1;
char menu_option;
while (run==1)
{
printf("Choose case:\n");
scanf ("%s", &menu_option);
switch (menu_option) {
case '1':
printf("1");
break;
case '2':
printf("2");
break;
case '0':
run=0;
break;
default:
printf("Wrong input, try again\n");
}
}
}