#include<stdio.h>
void binary(int n);
int main() {
int n;
printf("2진수로 표현할 10진수를 입력하세요 : ");
scanf("%d", &n);
printf("%d를 2진수로 표현하면 >> \n", n);
binary(n);
return 0;
}
void binary (int n) {
int a;
a = n % 2;
if(n>=2) {
binary(n/2);
}
printf("%d", a);
}
십진수를 이진수로 바꾸는 함수입니다.
굵은글씨부분이 재귀함수 부분인데
최종 결과는 맞게 나오는데
잘생각해보면 재귀함수 부분에서
10을 예로들면 1010인데
n값이 1까지 되서 처음 1이 나오면 재귀함수가 되지않고
함수가 끝나야하는데 다시 재귀함수 루프를 돌아서
정상적인 값이 나오는데 왜그런거죠...?
흠;;머징
거꾸로 도네
거꾸로 돈다구요 ...?
왜 퍼센트 하고나서 나머지값을 안줌?