Zahirulイスラム教Nahid:
私には、ユーザーの意志入力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;
}
スリラクシュミkanthan:
それがNULLではないので、代わりにこれを行う終了* int型のためにstrlenを使用することはできません
#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;
}
注:あなたはそれがC99である可変長配列を使用しているだけ