Olá Tibério, tudo bem?
Fiz algumas alterações no seu código e ficou assim:
#include <stdio.h>
int soma(int* nums, int size) {
int total = 0;
for(int i = 0; i < size; i++) {
total = total + nums[i];
}
return total;
}
int main() {
int nums[] = {4, 8, 15, 16, 23, 42};
int size = sizeof(nums)/sizeof(int);
int resposta = soma(nums, size);
printf("Soma é %d \n", resposta);
}
Primeiramente eu fiz uma pequena correção da lógica do método soma
. Acredito que o objetivo é armazenar o somatório na variável total, fazendo com que total sempre tenha o valor atual e adicione o próximo número.
Então, baseando-se no código, a sequência de passos que o código executará ficará assim:
total = 0; // total começa em 0
// começa o loop e tem que somar 4, 8, 15, 16, 23, 42
total = total + 4; // total fica 4 e falta somar 8, 15, 16, 23, 42
total = total + 8; // total fica 12 e falta somar 15, 16, 23, 42
total = total + 15; // total fica 27 e falta somar 16, 23, 42
total = total + 16; // total fica 43 e falta somar 23, 42
total = total + 23; // total fica 66 e falta somar 42
total = total + 42; // total fica 108
// acaba o loop
return total; //retorna 108
Também fiz uma alteração no main
, atribuindo o retorno do método soma
na variável resposta. Eu preferi renomear a variável para evitar confusões.
Espero que eu tenha ajudado!