간단한 반복문 ㅜㅜ
리라
질문 제목 : 질문 요약 :
temp = num / divider % 10;
if ( temp % 2)
이부분이 도저히 이해가 안갑니다 ㅜㅜ
수학적으로 딸려서 그런가 ㅜㅜ
따로 짜면 만들수 있는데 해답을보면 이렇게 만든이유를 모를때가 가끔 있습니다 ㅜ질문 내용 :
질문=#include stdio.h
int main(void)
{
int num, divider = 100, temp;
printf(3자리 십진수를 입력하세요 : );
scanf(%d, &num);
while (divider 0) {
temp = num / divider % 10;
if ( temp % 2)
printf(%d : 홀수 , temp);
else
printf(%d : 짝수 , temp);
divider /= 10;
}
printf(\n);
return 0;
}
/*
변수 divider 는 현재 보고 있는 자리수를 얻기 위해 입력받은 값에 나누어주는 수입니다.
(ex. 백의 자리 수를 얻기 위해서는 100으로 나누어야 한다.)
변수 temp 는 현재 보고 있는 자리값(0~9) 입니다.
divider를 100부터 10, 1, 0으로 10씩 나누어 나가면서 백의 자리수부터 일의 자리수까지 확인하고
divider가 0이 되면 while문을 탈출하여 종료합니다.
*/
-
모이
if(temp%2 == 0) 과 같은 형태로 작성하는것을 강력하게 추천합니다.
if(temp%2)와같은 코딩방식은 굉장히 좋지않은 습관중 하나 입니다.
true와 false를 명확하게 서술하는 방식으로 코딩하는 습관을 들이세요 -
고딩
그리고 if문은 조건문(temp%2)이 참일때(temp%2의 값이 1이면 참, 0이면 거짓) 밑의 실행문(printf문)을 실행합니다.
-
앤드류
%연산자는 나눴을때의 나머지를뜻합니다.[ex. ( 857/10%10 == 5) (857/100%10 == 8) (857/1%10 == 7) ]
857이 num이라고 가정하고(세자리 숫자들 중 아무거나 고름) 소스를 흐름대로 읽어보시면
이해가 되실겁니다. -
휘율
저부분에서 연산자 모르는거 있으세요?