m0_59999817 2021-09-05 12:31 采纳率: 66.7%
浏览 20
已结题

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

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;
}

  • 写回答

1条回答 默认 最新

  • Pliosauroidea 2021-09-05 12:38
    关注

    稍微调了一下
    你没初始化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;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月13日
  • 已采纳回答 9月5日
  • 创建了问题 9月5日

悬赏问题

  • ¥15 QQ邮箱过期怎么恢复?
  • ¥15 (标签-android|关键词-app)
  • ¥15 微信小程序web-view嵌套H5页面IOS左滑会出现相同的页面,有什么解决方法吗?
  • ¥60 如何批量获取json的url
  • ¥15 comsol仿真压阻传感器
  • ¥15 Python线性规划函数optimize.linprog求解为整数
  • ¥15 llama3中文版微调
  • ¥15 pg数据库导入数据序列重复
  • ¥15 三分类机器学习模型可视化分析
  • ¥15 本地测试网站127.0.0.1 已拒绝连接,如何解决?(标签-ubuntu)