二进制的递归
程序代码:
int main(viod)\ { unsigned long number; printf("输入一个整数 (q 退出):"); while(scanf("%ul",&number)==1) { printf("二进制:"); to_binary(number); putchar('\n'); printf("输入一个整数 (q 退出):"); } printf("完成.\n"); return 0; } void to_binary(unsigned long n) { int r; r = n % 2; if(n>=2) to_binary(n/2); putchar('0'+r); return; }
输入9,然后进入递归,if完成4次后,为什么是return反而跳到putchar('0'+r);,return;不是返回一个值给to_binary吗,那应该跳到to_binary才对。