Как добавить элементы массива, используя цикл while в C? - PullRequest
0 голосов
/ 25 апреля 2019

Я пытаюсь подготовиться к финалу, который у меня будет завтра, по поводу массивов, вызывая их как функции и используя циклы while для добавления их элементов. Все это делается на языке C.

Итак, пока это то, что я получил:

сначала я определяю функцию, чтобы программа знала, что она существует

    int sum(int[],int);


    int main(int argc, char** argv) {


        int array[5]={1,2,3,4,5};
            int x = sum(array,5);
}

А вот функция, которую я сделал:

    sum(int array[],int size){

        int countdown=0;
        int result= 0;

        while(countdown<size){

            printf("%d\n",array[countdown]);
            result= result + array[countdown];
            printf("%d",result);
            countdown++;

        }

       return 0;

    }

После компиляции и запуска он работает нормально, однако он не дает ожидаемого результата 15.

1 Ответ

0 голосов
/ 25 апреля 2019

Ваш код работает правильно. Ваши результаты не очень хорошо видны.

Изменение

printf("%d\n",array[countdown]);
result= result + array[countdown];
printf("%d",result);

до

printf("Countdown %d\n",array[countdown]);
result = result + array[countdown];
printf("Result %d\n",result);

Вы сможете увидеть свой результат намного яснее.

Код очистки

#include <stdio.h>

int sum(int[],int);

int main(int argc, char** argv) {
    int array[5]={1,2,3,4,5};
    int x = sum(array,5);
    printf("Sum is: %d\n", x);
}

int sum(int array[],int size){
    int countdown=0;
    int result= 0;

    while(countdown<size){
        printf("Countdown %d\n",array[countdown]);
        result = result + array[countdown];
        printf("Result %d\n",result);
        countdown++;
    }

    return result;
}

Результаты

gcc test.c && ./a.out
Countdown 1
Result 1
Countdown 2
Result 3
Countdown 3
Result 6
Countdown 4
Result 10
Countdown 5
Result 15
Sum is: 15
...