tlsdltkr1026   2년 전

제가 scanf함수에 다음과 같이 입력했을 때

3
29
38
12
57
74
40
85
61

if(num>max)

위에 있는 조건물을 다 실행하고 if(num==max)을 실행하는 건가요?

다시말해 아래와 같이 (1)1번 (2)1번씩 실행하는게 아니라, (1)을 다 실행하고 나서 (2)를 실행하는 형식인가요?

(1)

if(num>max)   //num==3, max==0

max=num;   //max==3                            // 1번실행

(2)

if(num==max)   //num==3, max==3
{

y=x;    // y는 1

}
x++;                                                       // 1번 실행

----------------------------------------------------------------------------------------------------------------------------------------------

(1)

if(num>max) 

.

.

max==85                              // 9번실행 후 (2)실행

(2)

if(num==max) 
{

y=x; // y는 1

}
x++;

wider93   2년 전

포문으로 수식된 중괄호를 다 실행하고 다음 반복으로 돌아갑니다.

sun3856   2년 전

if문이나 for문 같은 경우 중괄호를 생략하면 if문 안에 속하는건 if문 바로 뒤에 적힌 문장 하나뿐이게 됩니다. 여기서 말하는 문장은 ;로 구분되고요.

위 코드에서 위쪽 if문에 속한건 max=num; 뿐이네요

댓글을 작성하려면 로그인해야 합니다.