哪位看一下,为啥这个代码没有输出结果

typedef struct
{
int arr[maxsize];
int len;

}stu;
stu s;
void insert(int val)
{
for(int i=0;i<s.len;i++)
{
s.arr[i]=val;
}
}
void change(int data,int val)
{
for(int i=0;i<s.len;i++)
{
if(s.arr[i]==val)
{
s.arr[i]=data;
}
}
}
void del(int data)
{
for(int i=0;i<s.len;i++)
{
if(s.arr[i]==data)
{
for(int n=i;n<s.len;n++)
{
s.arr[n]=s.arr[n+1];
}
}
}
s.len--;
}
void find(int data)
{
for(int i=0;i<s.len;i++)
{
if(s.arr[i]==data)
{
printf("下标 %d 值为 %d",i,s.arr[i]);
}
}
printf("\n");
}
void print(stu s)
{
for(int i=0;i<s.len;i++)
{
printf("%d ",s.arr[i]);
}
printf("\n");
}
int main()
{
insert(1);
print(s);
change(34,5);
print(s);
del(6);
print(s);
find(7);
print(s);
return 0;
}

稍微调了一下
你没初始化s.len,导致s.len一直是0,所以没有任何输出
有帮助望采纳

#include <stdio.h>
typedef struct
{
    int arr[100];
    int len;

} stu;
stu s;

void insert(int val)
{
    for (int i = 0; i <val; i++)

    {
        s.arr[i] = i;
    }
}
void change(int data, int val)
{
    for (int i = 0; i < s.len; i++)
    {
        if (s.arr[i] == val)
        {
            s.arr[i] = data;
        }
    }
}
void del(int data)
{
    for (int i = 0; i < s.len; i++)
    {
        if (s.arr[i] == data)
        {
            for (int n = i; n < s.len; n++)
            {
                s.arr[n] = s.arr[n + 1];
            }
        }
    }
    s.len--;
}
void find(int data)
{
    for (int i = 0; i < s.len; i++)
    {
        if (s.arr[i] == data)
        {
            printf("下标 %d 值为 %d", i, s.arr[i]);
        }
    }
    printf("\n");
}
void print(stu s)
{
    for (int i = 0; i < s.len; i++)
    {
        printf("%d ", s.arr[i]);
    }
    printf("\n");
}
int main()
{
    s.len = 100;
    insert(100);
    printf("%d\n", s.len);
    print(s);
    change(34, 5);
    print(s);
    del(6);
    print(s);
    find(7);
    print(s);
    return 0;
}