2
respostas

Total = 2002647774

#include <stdio.h>
#include <stdlib.h>

void soma(int numeros[10]) {
    int total = 0;
    for(int c = 0; c < 10; c++) {
        total = total + numeros[c];
    }
    printf("\n\nA soma dos numeros de 0 a 10 e: %d\n\n", total);
}

int main() {
    int numeros[10];
    soma(numeros);
}
2 respostas

Olá, Renan. Tudo bom? Eu não assisti a essas aulas de C então não tenho certeza de se este é o problema ou não, mas me parece que você criou um array de inteiros (de tamanho 10), mas não deu nenhum valor para nenhum desses inteiros, não inicializando essa variável. Daí o que acontece é que provavelmente você está somando usando valores aleatórios da memória (lixo). Acho que você pode resolver isso dando valores para esses inteiros antes de enviar para a função soma, por exemplo :

int main() {
    int numeros[10];
    for (int i = 0; i < 10; i++)
    {
        printf("Digite um valor para numeros[%d] = ", i);
        scanf("%d", &numeros[i]);
        printf("\n");
    }
    soma(numeros);
}

Renan, como citado, você não inicializou o vetor. Por isso, ele é criado com "lixo" de memória, e o valor de cada elemento tenderá a ser algo imprevisível. Nesse caso, você pode inicializar o vetor no momento da definição:

    int numeros[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

É uma opção que julgo mais útil, já que depois é fácil de personalizar os valores. Mas você também pode seguir a sugestão apresentada pelo Rodrigo.