幻听嵩的留香 2023-07-22 10:52 采纳率: 66.7%
浏览 44
已结题

二进制函数错误查找,求问题应该怎么解决

img


C不是没有二进制转化的格式代码嘛,说干就干写了个二进制转换的指针函数,哪里出问题了,DL看看(代码可能有点冗余,本人弱坤)

  • 写回答

6条回答 默认 最新

  • qzjhjxj 2023-07-22 11:05
    关注

    代码几处问题:
    1.TentoTwo()函数在使用前,没有声明,应在第2 3 行插入一行函数声明语句:int *TentoTwo(int x);
    2.在TentoTwo()函数里定义的两个数组都是局部变量,待TentoTwo()函数运行结束,这两个数组的生命期也随之结束,所以return h; 是个野指针。建议把数组yyx[]定义在主函数里,然后以形参的方式传递。
    修改如下,改动处见注释,供参考:

    #include <stdio.h>
    #include <string.h>
    int TentoTwo(int x, int yyx[]); // 修改
    int main()
    {
        int x, yyx[20], n;   // 修改
        scanf("%d", &x);
        n = TentoTwo(x, yyx); // 修改
        for (int i = 0; i < n; i++)// 修改
            printf("%d", yyx[i]);
       
        return 0;
    }
    int TentoTwo(int x, int yyx[]) // 修改
    {
         int xyy[20], i = 0, j, t;
         while (x){     // 修改
             xyy[i++] = x % 2;
             x /= 2;
         }
         t = i;
         for(i--, j = 0; i >= 0; i--)
             yyx[j++] = xyy[i];
         return t;      // 修改
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(5条)

报告相同问题?

问题事件

  • 系统已结题 7月31日
  • 已采纳回答 7月23日
  • 创建了问题 7月22日

悬赏问题

  • ¥50 Qt5.14.2怎样使用qlistwidget存储指针类数据并更新?
  • ¥15 STM32多路复用器ADC采样
  • ¥20 Linux(ubuntu)操作相关问题
  • ¥15 python深度学习代码求跑
  • ¥100 对接美团闪购医药接口相关问题
  • ¥15 嵌入式软件电子烟开发
  • ¥15 职场 Excel 查重问题
  • ¥15 求怎么用idea2021.3.2创建web项目并配置tomcat
  • ¥100 or-tools的相关问题
  • ¥15 有可能用平板通过拓展坞来烧录程序吗(keil5的那种)