C. Тема 1. Раздел 10
.pdfУдобен для описания переходов между состояниями конечного автомата
char ch; for(;;)
{
ch = getchar(); switch(ch)
{
case 'l':
printf("Go left\n"); continue;
case 'r':
printf("Go right\n"); continue;
}
break;
}
Это модифицированный цикл Дейкстры с явными условиями выхода char ch;
int flag; for(;;)
{
Start:
flag = 0;
ch = getchar(); switch(ch)
{
case 'l': printf("Go left\n"); flag = 1; break; case 'r': printf("Go right\n"); flag = 1; break;
}
switch(ch)
{
case 'x': printf("Exit\n"); goto End; case 'q': printf("Quit\n"); goto End;
}
if(flag) goto Start; printf("Alternative exit\n");
End:
break;
}
char ch; for(;;)
{
ch = getchar(); switch(ch)
{
case 'l': printf("Go left\n"); continue; case 'r': printf("Go right\n"); continue;
}
switch(ch)
{
case 'x': printf("Exit\n"); break; case 'q': printf("Quit\n"); break;
default: printf("Alternative exit\n"); break;
}
break;
}
Спасибо за внимание!