#include<stdio.h>
void bin(int x)
{
if(x/2>0) bin(x/2);
printf("%d\n",x%2);
}
int main()
{
bin(12);
return 0;
}
递归函数 bin(); 当x=12 ,递进 x=6 ,递进 x=3 ,递进 x =1 ,if(x/2>0) 条件不满足,回归 printf("%d\n",x%2);输出 1
回归 x=3 时 printf("%d\n",x%2);输出 1 ,回归 x=6 时 printf("%d\n",x%2);输出 0,回归x=12时printf("%d\n",x%2);输出 0。
最终:1 1 0 0
if没加括号,print写在if外面,所以不管判断结果是true还是false,都跟是否执行print没有关系