调试有关问题,请大家帮忙看看!
调试问题,请大家帮忙看看!!
//整数转换成二进制;
#include<stdio.h>
main()
{
int x;
printf("Input number: ");
scanf("%d",&x);
printf("number of decimal form: %d.\n",x);
printf(" it is binary form: ");
printb(x,sizeof(int)*8);
putchar('\n');
}
int x,n;
printb(x,n)
{
if(n>0)
{
putchar('0'+((unsigned)(x&(1<<(n-1)))>>(n-1)));
printb(x,n-1);
}
}
------解决方案--------------------
//整数转换成二进制;
#include<stdio.h>
main()
{
int x;
printf("Input number: ");
scanf("%d",&x);
printf("number of decimal form: %d.\n",x);
printf(" it is binary form: ");
printb(x,sizeof(int)*8);
putchar('\n');
}
int x,n;
printb(x,n)
{
if(n>0)
{
putchar('0'+((unsigned)(x&(1<<(n-1)))>>(n-1)));
printb(x,n-1);
}
}
------解决方案--------------------
- C/C++ code
#include<stdio.h> printb(int x ,int n) { if(n>0) { putchar('0'+((unsigned)(x&(1<<(n-1)))>>(n-1))); printb(x,n-1); } } main() { int x; printf("Input number: "); scanf("%d",&x); printf("number of decimal form: %d.\n",x); printf(" it is binary form: "); printb(x,sizeof(int)*8); putchar('\n'); }