使用递归调用从高位到低位逐位显示整型数的有效二进制位。#include stdio.h #include stdlib.h void out_binary(int, int *); int main() { int x, y, i0; x 1234567; y -1234567; printf(binary of %d is: , x); out_binary(x, i); /* 输出二进制及返回递归次数 */ printf( %d,i); putchar(\n); printf(binary of %d is: , y); i0; out_binary(y, i); printf( %d,i); putchar(\n); getchar(); return 0; } void out_binary(int n, int *p) { int m; m (unsigned)n 1; if(m ! 0 ) { (*p); out_binary(m,p); // 输出高位 } putchar( (n 1) 0 ); // 输出最低位 }输出结果binary of 1234567 is: 100101101011010000111 20binary of -1234567 is: 11111111111011010010100101111001 31注位数为调用次数加1。