簡體   English   中英

在數組C中找到數字的總和

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM