段错误
本帖最后由 你干嘛哈哈哎哟 于 2022-11-13 17:13 编辑void exchange(int x)
{
int i,a={0},b={0},j;
a=x;
if(x==1)
{
printf("转化后的数为1\n");
}
else
{
for(i=1;i<20;i++)
{
a=a/2;
b=a%2;
if(a==1)
{
printf("转化后的数为");
for(j=i;j>0;j--)
{
printf("%d",b);
}
break;
}
}
}
}
十进制转换为二进制的函数定义后为什么会出现段错误? 本帖最后由 jackz007 于 2022-11-13 17:51 编辑
作为一个老司机,不把代码贴入代码框,介事得被批评
void exchange(int x)
{
int b , i , n ;
for(n = 0 ; x ; x /= 2) b = x % 2 ;
printf("转化后的数为 : ") ;
for(i = n ; i ; i --) printf("%d" , b) ;
printf("\n") ;
}
页:
[1]