Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Exercício] - Soma de Arrays

#include <stdio.h>

void soma(int numeros[10])
{
    int resultado = 0;
    for (int i = 0; i < numeros[10]; i++)
    {
        resultado += numeros[i];
    }

    printf("Resultado: %d\n", resultado);
}
int main()
{

    int numeros[10];

    for (int i = 0; i < 10; i++)
    {
        printf("Digite um numero: ");
        scanf("%d", &numeros[i]);
    }

    soma(numeros);
}
2 respostas
solução!

Olá, Luan! Tudo bem?

Pelo que percebi, você está quase lá com o código, mas tem um pequeno erro na sua função soma.

No loop for, a condição de parada está como i < numeros[10], mas deveria ser i < 10, pois você quer que o loop percorra todos os elementos do array, que são 10. Quando você coloca numeros[10], está tentando acessar o 11º elemento do array, que não existe, e isso pode causar um comportamento inesperado.

Então, a correção seria:

void soma(int numeros[10])
{
    int resultado = 0;
    for (int i = 0; i < 10; i++)
    {
        resultado += numeros[i];
    }

    printf("Resultado: %d\n", resultado);
}

Com essa alteração, a função soma deve funcionar corretamente, somando todos os elementos do array.

Espero ter ajudado e bons estudos!

Muito obrigado pela correção, realmente, eu não tinha parado pra perceber nisso! Afinal, eu compilei o código e ele funcionou perfeitamente, então na minha cabeça eu estava fazendo o correto! Obrigadão, irei editar o meu código.