Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Projeto] Resolução

Só compartilhando minha resolução aqui.

#include <stdio.h>

int soma(int* numeros, int tamanho) {
    int total = 0;
    for (int i = 0; i <= tamanho; i++) {
        total += numeros[i];
    }
    return total;
}

int main() {
    int numeros[3];

    numeros[0] = 5;
    numeros[1] = 7;
    numeros[2] = 2;
    numeros[3] = 8;

    int total_somado = soma(numeros, 3);

    printf("O total somado e %d\n", total_somado);
}

Terminal: Insira aqui a descrição dessa imagem para ajudar na acessibilidade O que acharam?

1 resposta
solução!

Oi, Lucas! Tudo bem?

Ótimo código, parabéns pela elaboração! Deixo como sugestão apenas uma correção para evitar futuros problemas: no loop da função soma, estamos iterando até i <= tamanho, o que faz com que acesse um índice fora dos limites do array, podendo resultar em comportamento indefinido. O que podemos resolver da seguinte forma:

#include <stdio.h>

int soma(int* numeros, int tamanho) {
    int total = 0;
    for (int i = 0; i < tamanho; i++) { // Corrigido para i < tamanho
        total += numeros[i];
    }
    return total;
}

int main() {
    int numeros[3];

    numeros[0] = 5;
    numeros[1] = 7;
    numeros[2] = 2;
    // Removido: numeros[3] = 8; // Isso está fora dos limites do array

    int total_somado = soma(numeros, 3);

    printf("O total somado e %d\n", total_somado);
}

Com essa correção, o código deve funcionar corretamente e somar os valores dentro dos limites do array. Caso tenha restado alguma dúvida em relação a qualquer conteúdo do curso ou atividade, não hesite em perguntar, estou disponível e ficarei super feliz em poder ajudar!

Um forte abraço e bons estudos!