switch case while
2024. 7. 19. 12:22ㆍ정보처리,전산/Clang
반응형
#include <stdio.h>
int main (int argc, char *argv[]){
int a = 5;
int s = 0;
int sum = 0;
int product = 1;
while (a < 15){
a++;
if(a % 3 == 0) continue; // a가 3의 배수일 경우 이번 반복을 건너뜀
sum += a; // 3의 배수가 아닐 때 sum에 a를 더함
if(a % 2 == 0) product *= a; // a가 짝수일 경우 product에 a를 곱함
}
switch(a % 5) {
case 0: s += 2; break; // a를 5로 나눈 나머지가 0이면 s에 2를 더함
case 1: s += 3; break; // a를 5로 나눈 나머지가 1이면 s에 3을 더함
case 2: a -= 1; break; // a를 5로 나눈 나머지가 2이면 a를 1 감소시킴
case 3: a += s; break; // a를 5로 나눈 나머지가 3이면 a에 s를 더함
default: a++; // 그 외의 경우 a를 1 증가시킴
}
printf("%d %d %d %d", s, a, sum, product); // s, a, sum, product의 값을 출력
return 0;
}
변수 변화
- a = 6 -> a % 3 == 0, continue
- a = 7 -> sum += 7 (sum = 7), a % 2 != 0
- a = 8 -> sum += 8 (sum = 15), product *= 8 (product = 8)
- a = 9 -> a % 3 == 0, continue
- a = 10 -> sum += 10 (sum = 25), product *= 10 (product = 80)
- a = 11 -> sum += 11 (sum = 36), a % 2 != 0
- a = 12 -> a % 3 == 0, continue
- a = 13 -> sum += 13 (sum = 49), a % 2 != 0
- a = 14 -> sum += 14 (sum = 63), product *= 14 (product = 1120)
- a = 15 -> 루프 종료
그 이후 switch 문에 의해 s는 2 증가한다.
반응형
'정보처리,전산 > Clang' 카테고리의 다른 글
변수의 범위(scope) (0) | 2024.07.26 |
---|---|
포인터 배열 , 배열 포인터 (1) | 2024.07.24 |
구조체 포인터 : 도서관 도서 목록 (0) | 2024.07.19 |
소수구하기 (0) | 2024.07.18 |
구조체 값 입력 받기 (0) | 2024.07.18 |