SXUstudent 2020-05-10 19:49 采纳率: 57.1%
浏览 197

关于C语言长除法子函数的返回值问题

这是我写的长除法子函数,在返回数组到主函数时,打印返回的数组出了问题,
本应该打印63个数的,可是打印停不下来,检查好几次后,发现ikk取值范围有问题,

--在ikk<8时,ikk最多到7,正常出8个数,但ikk<9时,便会无限循环那8个数


#include<stdio.h>
#include<stdlib.h>
#define N 8
#define M 63
int *CC(int j[],int f[]){
    int n=0,i=0;
    int s[N]={0},m[M]={0};
    for(i=0;i<N;i++)
    s[i]=j[i];
    for(i=0;i<M;i++)
    {
        if(s[0]==1)
        {
            m[i]=1;
            for(int n=0;n<N;n++)
                s[n]=s[n]^f[n];
        }
        else
            m[i]=0;
        for(n=0;n<N;n++)
            s[n]=s[n+1];
        s[N-1]=0;

    }
    return m;
}

    void main(){
        int ikk;
        int a[N],m1[M];
        int f1[8]={1,0,0,0,1,0,0,1};
        int g1[8]={1,0,0,0,1,0,0,0};
        CC(g1,f1);
        for(ikk=0;ikk<8;ikk++)////////在这里,在ikk<8时,ikk最多到7,正常出8个数,但ikk<9时,便会无限循环那8个数
        {
        a[ikk]=*(CC(g1,f1)+ikk);
        printf("%d",a[ikk]);
        }
        printf("\n");
        system("pause");
    }

输出结果:
ikk<8时
图片说明
ikk<9时
图片说明

  • 写回答

1条回答 默认 最新

  • Ezio_Anditore 2020-05-26 16:11
    关注

    学长 问题解决了没有

    评论

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料