[Schizo!, 2007. 9. 7. 16:19, study/programming]
#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 문을 수행 하게 되는거조. 대충 아시겠조 //////////////////////////////////////////////////////////////////////// 'study > programming' 카테고리의 다른 글
|
||||||||||||