inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

독하게 시작하는 C 프로그래밍

무조건 goto문

goto문에서 라벨과 관련해서 질문이 있습니다.

해결된 질문

95

민기훈

작성한 질문수 2

0

안녕하세요, C 기초를 수강하고 있는 학생입니다.

다름이 아니라, 강사님께서 작성하신 goto문의 예제 중 하나인 bool과 관련해서 질문이 있는데요,

라벨은 중괄호로 묶이지 않는이상 라벨 직후의 구문만 포함한다고 나괄호로 묶이지 않는이상 라벨 직후의 구문만 포함한다는 정보를 찾았는데,

강의에서 작성하신 코드에서는 CLEAN_UP에 대한 구문이 중괄호로 묶여있지 않아서 질문드립니다.


int main(void)

{

bool isA = false;

bool isB = false;

int nInput;

scanf_s("%d", &nInput);

if (nInput > 0)

isA = true;

else

goto CLEAN_UP;

scanf_s("%d", &nInput);

if (nInput > 0)

isB = true;

else

goto CLEAN_UP;

CLEAN_UP:

if (isA) isA = false;

if (isB) isB = false;

return 0;

}

c 컴퓨터-구조 assembly-language vc++

답변 1

0

널널한 개발자

잘못된 정보를 보신 것 같습니다. 라벨은 위치 정보에 해당하며 스코프로 묶지 않습니다. 정보의 출처를 알려주시면 제가 확인해보겠습니다. 참고하시기 바랍니다. 😄

0

민기훈

달아주신 답변 잘 읽었습니다.

궁금한 부분이 하나 더 생겼는데요, 라벨에 해당하는 부분은 어떻게 구분해야하나요?

LABEL :

구문1;

구문2;

 

이 있다면 구문1은 라벨에 속하는걸 알 수 있는데
구문2가 라벨에 속하는지는 제가 판단할 수 있는지 궁금합니다.

0

널널한 개발자

라벨은 단순 위치 정보일 뿐 이하 구문에 거기에 속하는 것이 아닙니다. 참고하시기 바랍니다. 😄

리눅스로 진행해도 될까요?

0

28

2

sizeof는 컴파일 타임 연산자라서 CPU를 사용치 않는다

0

31

2

scanf("%d\n") 의미

0

51

2

주소 연산자(&) 간접 지정자(*) 반대 개념

0

65

2

Virtual Memory, Memory, Memory mapping tables

0

81

2

샘플코드 출력 오류 발생 질문드립니다

0

84

2

값의 교환에 사용되는 변수의 위치.

0

106

2

메모리 비교에 관한 질문

0

93

2

문자열 Null

0

72

1

C, C++

0

104

2

문자열 입출력 코드 에러

0

74

2

선생님! 120화 2분 50초 질문입니다.

0

75

1

caller 가 메모리 할당 해제를 할 때의 문제점 질문

0

70

2

단축키 맞는지 여부 문의드립니다.

0

67

2

문자열을 사용하는 이중 포인터에 대하여 질문합니다

0

72

1

char 포인터 변수의 크기에 대하여 제가 이해한 것이 맞을까요

0

85

2

용어 설명 필요

0

65

2

stdin, stdout

0

77

2

필수 실습 (최댓값을 반환하는 함수)

0

100

2

아......ㅠㅠ

0

109

2

버퍼 내 엔터

0

82

1

2진수 뺄셈에서 carry-out

0

128

2

union 식별자는 실무에서 보통 어디에서 사용하나요?

0

89

2

필수실습문제 공부법 (진도 vs 복습)

0

115

2