weixin_42568235
爱学习的镇江老王
采纳率100%
2020-07-21 19:32

C语言://不知道为什么,超过5个元素,运算结果就不对

已采纳
//exercise10_10 两个数组中对应元素相加存入第三个数组
//不知道为什么,超过5个元素,运算结果就不对 
#include<stdio.h>
#include<stdlib.h>
void input(int m,const int x[m]);
void show(int m,const int x[m]);
void add(int m,int const x[m],int const y[m],int z[m]);
int main(void)
{
    int t;
    int const a[t];
    int const b[t];
    int c[t];
    printf("how many number in one array.please input:\n");
    scanf("%d",&t);
    while(getchar() != '\n');
    printf("input a array %d int.\n",t);
    input(t,a);
    printf("show a array %d int.\n",t);
    show(t,a);
    printf("input b array %d int.\n",t);
    input(t,b);
    printf("show b array %d int.\n",t);
    show(t,b);
    printf("c array = a array + b array.\n");
    add(t,a,b,c);
    show(t,c);
    system("pause");
    return 0;
}
void input(int m,int const x[m])
{
    int i;
    for(i=0;i<m;i++)
        scanf("%d",&x[i]);
    while(getchar() != '\n');
}
void show(int m,int const x[m])
{
    int i;
    for(i=0;i<m;i++)
        printf("%d  ",x[i]);
    printf("\n");
}
void add(int m,int const x[m],int const y[m],int z[m])
{
    int i;
    for(i=0;i<m;i++)
        z[i]=x[i]+y[i];
}
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • h2763246823 鞠杉 8月前

    给你大概改了一下,实现的功能是这个意思吧

    图片说明

    #include<stdio.h>
    #include<stdlib.h>
    void input(int m,const int x[]);
    void show(int m,const int x[]);
    void add(int m,int const x[],int const y[],int z[]);
    int main(void)
    {
        printf("how many number in one array.please input:\n");
        int t;
        scanf("%d",&t);
        const int a[t]={0};
        const int b[t]={0};
        int c[t];
    
        printf("input a array %d int.\n",t);
        input(t,a);
        printf("show a array %d int.\n",t);
        show(t,a);
        printf("input b array %d int.\n",t);
        input(t,b);
        printf("show b array %d int.\n",t);
        show(t,b);
        printf("c array = a array + b array.\n");
        add(t,a,b,c);
        show(t,c);
        system("pause");
        return 0;
    }
    void input(int m,int const x[])
    {
        int i;
        for(i=0;i<m;i++)
            scanf("%d",&x[i]);
        while(getchar() != '\n');
    }
    void show(int m,int const x[])
    {
        int i;
        for(i=0;i<m;i++)
            printf("%d  ",x[i]);
        printf("\n");
    }
    void add(int m,int const x[],int const y[],int z[])
    {
        int i;
        for(i=0;i<m;i++)
            z[i]=x[i]+y[i];
    }
    

    (忍不住吐槽一句,这原本的代码错误好多。)

    希望能够采纳哦,嘻嘻嘻。

    点赞 评论 复制链接分享