#include <stdio.h>
void func(int, int);
int main() {
int p, q;
p = 10;
q = p++ > 10 ? p + 3 : p - 3;
func(p, q);
}
void func(int x, int y) {
if (x > y)
while (x > 0) {
printf("%d ", x);
x = x / 2;
}
이하 생략
while (x > 0) 에서
x를 10진수로 출력하는데
답안은 11 5 2 1 입니다
안녕하세요 길벗수험서 운영팀입니다.
...? 제대로 이해하신 것 같은데 어떤 부분에서 혼동이 오신건가요?
기본적으로 절차형 프로그래밍 언어인 C에서는 반드시 순서대로 코드가 수행된다는 점만 기억해두세요.
x가 1일 때 print문으로 출력 -> 2로 나누어져 x가 0이됨 -> while(x>0)으로 돌아가 조건이 맞지 않아 빠져나옴
이라는 순서로 while문이 종료되게 되는 것이죠.
행복한 하루되세요 :)
-
관리자2021-10-04 11:10:44
안녕하세요 길벗수험서 운영팀입니다.
...? 제대로 이해하신 것 같은데 어떤 부분에서 혼동이 오신건가요?
기본적으로 절차형 프로그래밍 언어인 C에서는 반드시 순서대로 코드가 수행된다는 점만 기억해두세요.
x가 1일 때 print문으로 출력 -> 2로 나누어져 x가 0이됨 -> while(x>0)으로 돌아가 조건이 맞지 않아 빠져나옴
이라는 순서로 while문이 종료되게 되는 것이죠.
행복한 하루되세요 :)