你干嘛哈哈哎哟 发表于 2022-11-13 16:52:39

段错误

本帖最后由 你干嘛哈哈哎哟 于 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:15:01

本帖最后由 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]
查看完整版本: 段错误