葛明佳 发表于 2020-11-7 11:28:26

关于c语言的两数组相加问题

#include<stdio.h>
#include<stdlib.h>
int addarray(int num2);
int num0,num1,num3,num2;
int *p_num2=num2,num5,i;
int main()
{

        printf("请输入第一个数组5个数字...\n");
        for(i=0;i<5;i++)
        {
                printf("请输入第%d个数字:",i+1);
                scanf("%d",&num0);
        }       
        printf("\n");
        printf("=====================================\n");
        printf("\n");
        printf("请输入第二个数组5个数字...\n");
        for(i=0;i<5;i++)
        {
                printf("请输入第%d个数字:",i+1);
                scanf("%d",&num1);
        }
        printf("\n");
        printf("=====================================\n");
        printf("\n");
        printf("新数组为:\n");
        for(i=0;i<5;i++)
        {
                printf("num2=[%d] = %d\n",i,addarray(num2));
        }

        system("pause");
        return 0;
}
int addarray(int num2)
{
        for(int i=0;i<5;i++)
        {
                num2=num0+num1;
        }
       
        return num2;
}


要实现两个长度相等的数组数值分别相加作为第三个数组的值
{:10_306:}

sunrise085 发表于 2020-11-7 11:46:52

若这些数组都用全局变量的话。那就简单了
如下:#include<stdio.h>
#include<stdlib.h>
void addarray();
int num0,num1,num2;
int i;
int main()
{
    printf("请输入第一个数组5个数字...\n");
    for(i=0;i<5;i++)
    {
      printf("请输入第%d个数字:",i+1);
      scanf("%d",&num0);
    }      
    printf("\n");
    printf("=====================================\n");
    printf("\n");
    printf("请输入第二个数组5个数字...\n");
    for(i=0;i<5;i++)
    {
      printf("请输入第%d个数字:",i+1);
      scanf("%d",&num1);
    }
    printf("\n");
    printf("=====================================\n");
    printf("\n");
    printf("新数组为:\n");
    addarray();
    for(i=0;i<5;i++)
      printf("%d ",num2);
    system("pause");
    return 0;
}
void addarray()
{
    for(int i=0;i<5;i++)
      num2=num0+num1;
}
若这些数组不用全局变量的话,那么函数应该这么写
#include<stdio.h>
#include<stdlib.h>
int main()
{
    int* addarray(int num0,int num1);
    int num0,num1;
    int *p_num2,i;
    printf("请输入第一个数组5个数字...\n");
    for(i=0;i<5;i++)
    {
      printf("请输入第%d个数字:",i+1);
      scanf("%d",&num0);
    }      
    printf("\n");
    printf("=====================================\n");
    printf("\n");
    printf("请输入第二个数组5个数字...\n");
    for(i=0;i<5;i++)
    {
      printf("请输入第%d个数字:",i+1);
      scanf("%d",&num1);
    }
    printf("\n");
    printf("=====================================\n");
    printf("\n");
    printf("新数组为:\n");
    p_num2=addarray(num0,num1);
    for(i=0;i<5;i++)
      printf("%d ",*(p_num2+i));
    system("pause");
    return 0;
}
int* addarray(int num0,int num1)
{
    static int num2;
    for(int i=0;i<5;i++)
      num2=num0+num1;
    return num2;
}

葛明佳 发表于 2020-11-7 12:52:57

sunrise085 发表于 2020-11-7 11:46
若这些数组都用全局变量的话。那就简单了
如下:
若这些数组不用全局变量的话,那么函数应该这么写

好的 谢谢老哥
页: [1]
查看完整版本: 关于c语言的两数组相加问题