programing

만약 내가 스위치 경우 기본을 쓰는 게 어떨까?

prostudy 2022. 8. 25. 21:23
반응형

만약 내가 스위치 경우 기본을 쓰는 게 어떨까?

int a = 10;
switch(a){
case 0:
    printf("case 0");
    break;
case 1:
    printf("case 1");
    break;
}

위의 코드 유효한가요?

만약 나는 int확신한다.a, 나는 피할 수 있다. 1과 0보다 다른 가치가 있지는 않을 거에요.default?

만약 어떤 경우에 값 1과 0과 다를 것입니다?

나는 이것이 어리석은 질문 하지만 저는 아마도 또는 막연한 불법이 될 것이라고 행동 soI 거를 해야 할까 해

그 코드 유효합니다.만약 없다default:라벨과, 아무것도 없습니다case표지, 그때, 통제된 복합문 중 누구도 실행될 수 있는"전환"값과 일치한다.집행 스위치를 진술의 끝에서 계속될 것이다.

/IEC9899:1999, 섹션 6.8.4.2:

[...] 없는 개종했다case지속적인 표현 경기고.default라벨, 스위치를 몸의 어떤 부분 실행된다.

다른 사람들이 지적했다 완벽하게 코드 유효합니다.그러나 코딩 스타일의 관점에서 나는 빈칸을 추가하는 것을 선호한다.default무심코 잊어버린 게 아니라는 걸 분명히 하는 멘트가 적혀있었어요.

int a=10;
switch(a)
{
case 0: printf("case 0");
         break;
case 1: printf("case 1");
         break;
default: // do nothing;
         break;
}

코드 생성 시, 코드 생성 시 또는 코드 생성 시default동일해야 합니다.

를 가지지 않는 것은 유효합니다.default사례.

, 1과 0이 아닌 값이 없는 것이 확실하더라도 디폴트 케이스를 사용하여 다른 값을 잡아내는 것이 좋습니다(이론적으로는 불가능하지만 버퍼 오버플로 등 상황에 따라 표시되는 경우가 있습니다).또, 에러를 인쇄하는 것도 좋은 방법입니다.

기본값은 필수는 아니지만 항상 가지고 있는 것이 좋습니다.

암호는 이상적이지만, 우리의 삶은 그렇지 않습니다. 그리고 거기에 보호 장치를 설치해도 나쁠 것은 없습니다.또, 예기치 않은 일이 발생했을 경우의 디버깅에도 도움이 됩니다.

그것은 완벽한 법률 코드이다.a가 0도 1도 아닌 경우 스위치블록은 완전히 건너뜁니다.

조건이 일치하면 no, 그렇지 않으면 no와 같습니다.

스위치의 경우 default는 필수가 아닙니다.일치하는 케이스가 없고 기본값이 제공되지 않으면 아무것도 실행되지 않습니다.

네, 위의 코드는 유효합니다.

스위치 조건이 케이스의 어느 조건과도 일치하지 않고 디폴트가 존재하지 않는 경우 프로그램 실행은 진행되며 아무것도 하지 않고 스위치에서 종료됩니다.

C 프로그래밍 언어의 스위치문 구문은 다음과 같습니다.

switch(expression) {

   case constant-expression  :
      statement(s);
      break; /* optional */

   case constant-expression  :
      statement(s);
      break; /* optional */

   /* you can have any number of case statements */
   default : /* Optional */
   statement(s);
}

언급URL : https://stackoverflow.com/questions/8021321/what-if-i-dont-write-default-in-switch-case

반응형