[英]Find the sum of numbers in an array C
我已經對該主題進行了一個多小時的研究,但我沒有運氣,所以我決定繼續在這里提出這個問題。 我一直在弄清楚如何在程序上鍵入數字后從數組中找到10個不同數字的總和。 例如,它要求您鍵入10個不同的數字,並在數組中鍵入它們后將它們加在一起。 這是代碼。 頂部是功能。 底部來自main()。 任何幫助將不勝感激。
void addNum(int z[])
{
int sum = 0;
int i;
//scanf("%d", &z[i]);
sum = sum + z[i];
printf("\nThe sum of numbers you entered is %d.\n", sum);
}
...........
int z[10];
int i;
int num = 0;
printf("Please enter 10 different numbers: \n");
for(i = 0; i < 10; i++)
{
z[i] = num;
scanf("%d", &num);
}
printf("\nThe numbers you entered were: ");
for (i = 1; i <= 10; i++)
{
printf("%d ", z[i]);
}
printf("\n");
//scanf("%d", z[i]);
addNum(z[i]);
您應該在函數中進行添加
void addNum(int z[], int sizeOfArray)
{
int sum = 0;
//scanf("%d", &z[i]);
for(int i = 0; i < sizeOfArray; i++){
sum += z[i];
}
printf("\nThe sum of numbers you entered is %d.\n", sum);
}
通過數組大小在主數組中傳遞
addNum(z,10);
在您的代碼中,請使用按引用傳遞而不是按值傳遞。
當您調用“ addNum(z [i])”時,我是11,而您要傳遞的是z [11],這在第一位將是垃圾,但是您僅傳遞了一個不是您想要的變量的值。
您要傳遞的是數組“ z”或“&z [0]”的地址。 隨着數組的大小,因此該函數知道數組中有多少個成員變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.