C 没有响应指针函数,也没有返回正确的值

C 没有响应指针函数,也没有返回正确的值,c,C,我正在尝试做一个c程序,其中用户将输入2个数组,并使用指针和用户定义的函数。但它确实没有给出正确的答案。主函数将接收用户的输入,并将其发送到计算器函数。它将对这些数组求和。它将把求和值返回给main函数 int calculator(int *my_array1, int *my_array2) { int sum=0,sum1=0,sum2=0; for (int i = 0; i < strlen(my_array1); i++) { sum1+

我正在尝试做一个c程序,其中用户将输入2个数组,并使用指针和用户定义的函数。但它确实没有给出正确的答案。主函数将接收用户的输入,并将其发送到计算器函数。它将对这些数组求和。它将把求和值返回给main函数

int calculator(int *my_array1, int *my_array2)
{
    int sum=0,sum1=0,sum2=0;
    for (int i = 0; i < strlen(my_array1); i++)
    {
        sum1+=(*(my_array1+i));
    }
    for (int i = 0; i < strlen(my_array2); i++)
    {
        sum2+=(*(my_array1+i));
    }
    sum=sum1+sum2;
    return sum;
}

int main()
{
    int size1,size2,i;
    printf("Enter First Array Size: ");
    scanf("%d",&size1);
    int array1[size1];
    printf("Enter Array's Value: ");
    for(i=0; i<size1; i++)
    {
        scanf("%d",&array1[i]);
    }
    printf("Enter Second Array Size: ");
    scanf("%d",&size2);
    int array2[size2];
    printf("Enter Array's Value: ");
    for(i=0; i<size2; i++)
    {
        scanf("%d",&array2[i]);
    }
    printf("\nSum: %d",calculator(array1,array2));
    return 0;
}

int计算器(int*我的数组1,int*我的数组2)
{
int sum=0,sum1=0,sum2=0;
for(int i=0;i对于(i=0;i您不能对int*使用strlen,因为它不是以NULL结尾的,而是这样做的

#include<stdio.h>


int calculator(int *my_array1, int *my_array2,int len1,int len2)
{
    int sum=0,sum1=0,sum2=0;
    for (int i = 0; i < len1; i++)
    {
        sum1+=(*(my_array1+i));
    }
    for (int i = 0; i < len2; i++)
    {
        sum2+=(*(my_array1+i));
    }
    sum=sum1+sum2;
    return sum;
}

int main()
{
    int size1,size2,i;
    printf("Enter First Array Size: ");
    scanf("%d",&size1);
    int array1[size1];
    printf("Enter Array's Value: ");
    for(i=0; i<size1; i++)
    {
        scanf("%d",&array1[i]);
    }
    printf("Enter Second Array Size: ");
    scanf("%d",&size2);
    int array2[size2];
    printf("Enter Array's Value: ");
    for(i=0; i<size2; i++)
    {
        scanf("%d",&array2[i]);
    }
    printf("\nSum: %d",calculator(array1,array2,size1,size2));
    return 0;
}
#包括
整数计算器(整数*我的数组1,整数*我的数组2,整数列1,整数列2)
{
int sum=0,sum1=0,sum2=0;
对于(int i=0;istrlen(my_array1)
my_array1
不是以null结尾的。,,,