1
resposta

Poderia explicar o que o return está fazendo ?

#include <stdio.h>

/* Escreva uma função soma que recebe um array de inteiros
e o tamanho do array, e retorna a soma dos números desse array*/

int soma(int* nums, int quantidade){

    int total = 0;


    for(int i = 0; i < quantidade; i++){
        total += nums[i];



    }
   return total;
}




int main(){

    int quantidade;

    printf("Digite quantos numeros vai usar para soma:\n");
    scanf("%d", &quantidade);

    int nums[quantidade];

    for (int i = 0; i < quantidade; i++){

        printf("Digite um numero:\n");
        scanf("%d", &nums[i]);
    }


    int total = soma(nums, quantidade);

    printf("soma total dos numeros: %d\n", total);


         }
1 resposta

pensa assim, você executa o código da função e quando chama um return é semelhante ao break para parar um loop, porém ele além de parar a execução do código da função ela também retorna um valor, o tipo desse valor tem que ser o mesmo da função chamada.

olhando para seu código, você chama a função soma() ela vai fazer o que foi mandado ela fazer e vai retornar um valor. esse valor vai ser guardado na variável que você criou, que no caso é um int total.

Normalmente o que os iniciantes confundem muito é a variável criada na função e a variavel criada no main. As variáveis com nome total são diferentes, a que está dentro do main é uma variável e a variável que está dentro da função soma é outra. E você está retornando o valor e não a variável.