Не понял. Вот тут протестировал
#include<stdio.h>
int main() {
int x=10;
int y=25;
int z=1;
int State=2;
do{
switch(State){
case 1:
break;
case 2:
z=x*y;
State = 5;
continue;
case 3:
break;
case 5:
z=z*x;
break;
}
}while(0);
printf("Sum of x+y = %i", z);
}
Результат 250. А если бы case был аналогом goto было бы 2500
А вот
вариант lloyd
а - дал требуемые 2500:
#include<stdio.h>
int main() {
int x=10;
int y=25;
int z=1;
int State=2;
do{
switch(State){
case 1:
break;
case 2:
z=x*y;
goto case_5;
continue;
case 3:
break;
case 5:
case_5:
z=z*x;
break;
}
}while(0);
printf("Sum of x+y = %i", z);
}