SXUstudent 2020-05-10 11:28 采纳率: 57.1%
浏览 179
已采纳

调用子函数返回的数组为什么会出现这样的数?这些数是地址吗?

我试过把子函数化作主函数,定义好输入数组并输出g[],是没有问题的,运行结果为1 0 0 0 1 0 0 0,不像这种返回是特别大的数


#include<stdio.h>
#define N 8
#define M 63
int *SCHS(int f[]){

    int i,g[N];
    for(i=0;i<N;i++)
    {
        if(f[i]==1)
            g[i]=i;
        else
            g[i]=0;
    }
    for(i=0;i<N;i++)
        g[i]=g[i]+f[i];

    for(i=0;i<N;i++)
    {
        if(g[i]%2)
            g[i]=1;
        else
            g[i]=0;
    }
    return g;
}

    void main(){
        int *a,*b;
        int f1[8]={1,0,0,0,1,0,0,1};
            a=SCHS(f1);
            printf("\n");
        for(int i=0;i<N;i++)
        {
        printf("%d ",a[i]);
        }
        printf("\n");//
        while(1);
    }

这是运行结果,很奇怪
![Valid XHTML]图片说明

  • 写回答

1条回答 默认 最新

  • threenewbee 2020-05-10 11:31
    关注

    这些不是地址,而是因为数组越界了,或者没有初始化,访问到了随机的数据。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 3月28日

悬赏问题

  • ¥15 关于#stm32#的问题:寻找一块开发版,作为智能化割草机的控制模块和树莓派主板相连,要求:最低可控制 3 个电机(两个驱动电机,1 个割草电机),其次可以与树莓派主板相连电机照片如下:
  • ¥15 Mac(标签-IDE|关键词-File) idea
  • ¥15 潜在扩散模型的Unet特征提取
  • ¥15 iscsi服务无法访问,如何解决?
  • ¥15 感应式传感器制作的感应式讯响器
  • ¥15 如何使用SC92F8003固件库解析私有协议数据?
  • ¥15 如何在音频中嵌入字符串(水印)信息进行传递
  • ¥30 plc怎么以设计说明书申请软著
  • ¥15 硬盘识别不了,需要初始化,可我的数据怎么办
  • ¥15 lvm2被mask了,怎么unmask都没用(标签-ubuntu|关键词-apt)