나는 누군가의 C 코드를보고 있으며 심지어 내가 모르는 것을 발견했다. 일부 경우에는 switch 변수가 수정되어 또 다른 대소 문자가 구분 기호 뒤에 실행됩니다.스위치 문 냄새입니까?
switch (variable)
{
case 1:
some_code();
variable = 3;
break;
case 2:
more_code();
variable = 5;
break;
case 3:
more_code();
variable = 5;
break;
case 4:
my_code();
break;
case 5:
final_code();
break;
}
작성자가 의도 한대로 코드가 작동하는 것 같습니다. 하지만 그는 운이 좋았습니까, 아니면 C에서 보장 된 동작입니까? 나는 항상 break 문을 사용하면 switch 문 바로 다음으로 실행이 이동하게된다고 가정했습니다. 나는 다른 모든 경우를 계속해서 테스트 할 것이라고 기대하지 못했습니다.
매우 일반적인 관용어입니다 (예 : 상태 머신 용. –
난독 화 된 'while'을 만드는데 사용할 수 있습니까? – Kninnug