||와 continue문에 대한 질문입니다!
차나
2023.04.01
질문 제목 : ||에 대한 질문입니다질문두개올리겟습니다 1.있고 2.가있습니다
질문 내용 :
#includestdio.h
int main(void)
{
int num;
printf(start!);
for(num=1; num20; num++)
{
if(num%2==0 || num%3==0)
continue;
printf(d, num);
}
printf(end!);
return 0;
}
1.
윗문장을실행하면
start! 1 5 7 11 13 17 19 end!라고 나온답니다
근데 제생각은if(num%2==0 || num%3==0) 부분인
num%2에서 num이 2이면 0이 되니까 참이되고
num%3일에서 num이 3이면 0이되니까ㅏ 이것도 참이되서
2,3,4,6등등 2와 3의 배수가 나와야하는데 1 5 7 11 13 17 19가 나온답니다
제가 ||에 대해 잘못알고있는건가요?
그리고 질문하나 더드리겟습니다
2.
만일 1 5 713 17 19 가 답이라했을때요
num값이 1일때 다음 continue가 있잖아요
그럼 조건부문으로 넘어가면 printf(d, num); 이부분이 무시가 되야하는데
왜 다음 5가 출력이되나요??
-
뿌우
아하 그렇군요..
-
염소자리
아뇨 ||의 의미는 맞습니다.
근데 저 코드는 2의배수이거나 3의배수이면 continue를 하라는 뜻입니다.
따라서 1 5 7 .. 이렇게 출력이 되는겁니다.