continue 질문
혜린
#include stdio.h
#include stdlib.hint main(int argc, char *argv[])
{
int a;
printf(start! \n);
for(a=0; a20; i++)
{
if(a%2==0 || a%3==0)
continue;
printf(%d \n, a);
}
printf(end! \n);
system(PAUSE);
return 0;
}빨간글씨로 된부분 2의배수이거나 3의배수에서참이뜨면(23 4 6 8 9 10 ***)if문을 탈출해continue를 실행하고 나머지부분을 생략하여 출력이 안되는것같은데요그럼 2의 배수이거나 3의 배수가 아닌 (1 5 7 11 13 17 19)수들은 참이아니니까 if문에서 참일때까지 계속 돌리는거 아닌가요?그리고 2의배수이거나 3의배수 참이뜨면 continue때문에 생략되어 출력이 안되고 그러면 아무것도 출력이 안될것같은데...
-
파랑새
if(조건식)
{
\내용\
}
일때, if문은 조건식의 내용이 참이면 \내용\부분을 실행하고, 거짓이면 건너뛰어라. 라는 의미입니다.
if(sum5000)
break;
같은 경우는 한줄짜리기 때문에 {} 없이 쓴 것 뿐이죠. 저걸 바꾸면
if(sum5000)
{
break;
}
와 같습니다. -
얼
아니죠. if break도 if문이 참이면 break 시키는 거죠. 다시 돌아가서
1. if(a%2==0 || a%3==0) 를 봅시다. (a가 2의 배수거나, 3의 배수이다)가 참일때, continue를 실행하죠.
즉, 2의 배수이거나 3의 배수는 출력하지 않겠다는 거죠. 2의 배수도 아니고, 3의 배수도 아닌 수만 if문의 조건
을 거짓으로 성립시켜서 continue를 뛰어넘어 printf문을 만날 수 있는거죠.
2. if(sum5000) 도 -
아름나
아 오타네요 a++로 했어야했는데 그럼 if와 continue는 한몸이라고해야하나요?
그리고
#include stdio.h
#include stdlib.h
int main(int argc, char *argv[])
{
int sum=0;
int num=0;
while(1)
{
sum+=num;
if(sum5000)
break;
num++;
}
printf(\sum : %d \\n\ -
달빛
if 문의 조건이 참이면 continue를 실행하고, if문의 조건이 거짓이면 if문의 내용을 실행하지 않고 즉, continue를 실행
하지 않고 건너뜁니다. 즉, printf(\%d \\n\