二进制的递归
程序代码:
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才对。

