study/programming
조건if
Schizo!
2007. 9. 7. 16:19
#include
int main(void)
{
int num1 = 0,num2 = 0;
printf("간단한 정수 두 개를 공백으로 구분하여 입력하세요.\n");
printf("입력>");
scanf("%d %d",&num1,&num2);
if(num1)
if(num2)
printf("16줄:두수 %d과 %d는 모두 0이 아닙니다.\n",num1,num2);
else
printf("18줄: num1 %d는 0이 아니고 ,num2 %d는 0입니다.\n",num1,num2);
if(num1){
if(num2)
printf("28줄 : 두수 %d과 %d는 모두 0이 아닙니다.\n",num1,num2);
} else
printf ("24줄 :num1 %d는 0입니다.\n",num1);
if(num1){
if(num2)
printf("28줄:두수 %d과 %d는 모두 0이 아닙니다.\n",num1,num2);
else
printf("30줄 :num1 %d는 0이 아니고, num2 %d는 0입니다.\n",num1,num2);
}else {
if(num2)
printf("33줄:num1 %d는 0이고 ,num2 %d는 0이 아닙니다.\n",num1,num2);
else
printf("35줄 :두 수 %d과 %d는 모두 0입니다.\n",num1,num2);
}
return 0;
}
if문에후()안에 조건이 오는걸로 아는데
예를들면 (num1>2) 이런식의 조건 말입니다.
그런데 그냥 (num1) 이라는 조건은 어떤수가 입력되던간에 그냥 성립되는 것 압니까? 왜 0과1로 기준이 나누어지는겁니까?
//좋은 질문입니다. 기본적으로 전산 수학이라는 책을 보시면 좀더 이해가 잘 될겁니다. 나중에 전산에 관련된 수학책 보세요.설명 해 드리겠습니다.
if(조건식) 님 말씀대로 if(이안에는 조건식이 들어가게 됩니다)
만약 조건식이 참이 true 이고 거짓이면 false가 됩니다.
그런더 c언어서는 0은 false로 나머지 자연수는 true로 인식 합니다.
if(num1>2) 이식은 num1이 2보다 클 경우에만 참입니다
반면에 if(num1)의 경우 num1이 0이 아닌 다른수가 오면 true로 인식 참이 되게 됩니다. 0이면 false 가 되는거조.
//////////////////////////////////////////////////
#include
int main(void)
{
int num1 = 0,num2 = 0;
printf("간단한 정수 두 개를 공백으로 구분하여 입력하세요.\n");
printf("입력>");
scanf("%d %d",&num1,&num2);
///////////////////////////////////////////////////////////////////
if(num1) 이것은 무슨 뜻이냐면?
만약 if( num1)
num1 = 0 이다면 if문을 실행 하지 않습니다.
num1 !=0 다면 if 문을 실행 합니다.
즉 num1 이 1,2,3 -- 즉 0을 제외한 수가 올경우if 문을 실행 하게 됩니다.
scanf를 통해서 num1 과 num2를 입력 받아서 num1과 num2 가 둘다 0이 아니게 되면 이문장을 수행하고 printf("16줄:두수 %d과 %d는 모두 0이 아닙니다.\n",num1,num2);
하나라도 0이라면 else 문을 수행 하게 되는거조. 대충 아시겠조
////////////////////////////////////////////////////////////////////////
int main(void)
{
int num1 = 0,num2 = 0;
printf("간단한 정수 두 개를 공백으로 구분하여 입력하세요.\n");
printf("입력>");
scanf("%d %d",&num1,&num2);
if(num1)
if(num2)
printf("16줄:두수 %d과 %d는 모두 0이 아닙니다.\n",num1,num2);
else
printf("18줄: num1 %d는 0이 아니고 ,num2 %d는 0입니다.\n",num1,num2);
if(num1){
if(num2)
printf("28줄 : 두수 %d과 %d는 모두 0이 아닙니다.\n",num1,num2);
} else
printf ("24줄 :num1 %d는 0입니다.\n",num1);
if(num1){
if(num2)
printf("28줄:두수 %d과 %d는 모두 0이 아닙니다.\n",num1,num2);
else
printf("30줄 :num1 %d는 0이 아니고, num2 %d는 0입니다.\n",num1,num2);
}else {
if(num2)
printf("33줄:num1 %d는 0이고 ,num2 %d는 0이 아닙니다.\n",num1,num2);
else
printf("35줄 :두 수 %d과 %d는 모두 0입니다.\n",num1,num2);
}
return 0;
}
if문에후()안에 조건이 오는걸로 아는데
예를들면 (num1>2) 이런식의 조건 말입니다.
그런데 그냥 (num1) 이라는 조건은 어떤수가 입력되던간에 그냥 성립되는 것 압니까? 왜 0과1로 기준이 나누어지는겁니까?
//좋은 질문입니다. 기본적으로 전산 수학이라는 책을 보시면 좀더 이해가 잘 될겁니다. 나중에 전산에 관련된 수학책 보세요.설명 해 드리겠습니다.
if(조건식) 님 말씀대로 if(이안에는 조건식이 들어가게 됩니다)
만약 조건식이 참이 true 이고 거짓이면 false가 됩니다.
그런더 c언어서는 0은 false로 나머지 자연수는 true로 인식 합니다.
if(num1>2) 이식은 num1이 2보다 클 경우에만 참입니다
반면에 if(num1)의 경우 num1이 0이 아닌 다른수가 오면 true로 인식 참이 되게 됩니다. 0이면 false 가 되는거조.
//////////////////////////////////////////////////
#include
int main(void)
{
int num1 = 0,num2 = 0;
printf("간단한 정수 두 개를 공백으로 구분하여 입력하세요.\n");
printf("입력>");
scanf("%d %d",&num1,&num2);
///////////////////////////////////////////////////////////////////
if(num1) 이것은 무슨 뜻이냐면?
만약 if( num1)
num1 = 0 이다면 if문을 실행 하지 않습니다.
num1 !=0 다면 if 문을 실행 합니다.
즉 num1 이 1,2,3 -- 즉 0을 제외한 수가 올경우if 문을 실행 하게 됩니다.
scanf를 통해서 num1 과 num2를 입력 받아서 num1과 num2 가 둘다 0이 아니게 되면 이문장을 수행하고 printf("16줄:두수 %d과 %d는 모두 0이 아닙니다.\n",num1,num2);
하나라도 0이라면 else 문을 수행 하게 되는거조. 대충 아시겠조
////////////////////////////////////////////////////////////////////////