22018, 1/1101 회원가입  로그인  
   benkim
   while문 문제

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=31151 [복사]


#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[]) {
        

int sum=0, num=0, i=0;

while(i<5)
{
        while(num<=0)
        {
                printf("valude(%d)", i+1);
                scanf("%d", &num);
        }
        sum+=num;
        num=0;
        i++;
}
printf("sum: %d \n", sum);

        return 0;
}




위에 while(num<=0)인데 왜 0아니면 0이하의 값을 입력하면 재입력을 요청하는걸까요?

  Hit : 9287     Date : 2013/08/21 07:00



    
tjsansrl89 조건이 참이니 계속 반복하는 거죠.;;; 2013/08/21  
kumi123 2번째 while문에서, num의 값이 계속 0이니, 무한루프가 돌죠 2013/08/22  
sungwoodat num의 값을 0으로 입력할 경우 num<=0의 식은 참이 됩니다.
while문 자체가 참이 성립되는동안 루프가 도는 방식이기때문에
루프에서 빠져나오려면 num의 값은 1 이상으로 입력해주셔야겠습니다 ^^
2013/08/22  
benkim while(num<=0) num의 값이 0보다 짝거나 같으면 참인데.
1을 입력하면 거짓이 되지안나요?
2013/08/22  
benkim while(num<=0)이 참이여야 안에있는 내용을 실행하는거 아니에요?
제 강좌에서는 거짓이면 while문 다음에 있는 명령을 실행 한다고 했거든요
2013/08/22