如何将函数的输出结果存储进数组中并由main函数输出?

#include<stdio.h>
#define start 90
#define end 99
int check(int* s)
{
    int i;
    for (i = 0; i <= end; i++)
    {
        if (s[i] != 0)
            break;
    }
    if (i <= end)
        return 1;
    else
        return 0;
}
//转换为二进制,start表示有效数字的最高位,end为有效数字的最后一位
void jz_2(int* s,int *l)
{
    int i, j = 0;
    int m;//余数
    int n;//高位商
    int ys[1000];//余数,最终输出
    for (i = start; i <= end; i++)
    {
        if (i == end)
            ys[(*l)++] = s[i] % 2;
        m = s[i] % 2;
        s[i] /= 2;
        s[i + 1] += m * 10;
    }
    printf("%d", ys[(*l)-1]);
    if (check(s))
        jz_2(s,l);
}
int main()
{
    int m = 0;//二进制位数
    int s[100];
    int i;
    int* str;
    for (i = start; i <= end; i++)
        scanf("%d", &s[i]);
    printf("二进制结果:");
    jz_2(s, &m);
}

主函数里面加个结果变量接收jz_2的结果

1.把数组作为参数传入函数,直接在原数组上修改。2.申请一空间,用指针来代替数组。3.封装一个带数组的结构体作为返回值返回。