No lugar de int tam / tam, daria pra usar o strlen ?
No lugar de int tam / tam, daria pra usar o strlen ?
Oi, Isabela.
Tudo bem?
Na verdade o strlen
é uma função específica para strings (arrays de caracteres terminados em \0
). Ela não funciona para arrays de inteiros ou outros tipos de dados.
No caso do exercício que você mencionou, onde você precisa somar os elementos de um array de inteiros, você deve continuar passando o tamanho do array como um argumento para a função. A função strlen
não pode ser usada aqui porque ela só calcula o comprimento de strings, não de arrays de inteiros.
Aqui está um exemplo de como sua função soma
poderia ser implementada:
int soma(int *array, int tamanho) {
int soma = 0;
for (int i = 0; i < tamanho; i++) {
soma += array[i];
}
return soma;
}
E você pode chamá-la assim:
int nums[3];
nums[0] = 10;
nums[1] = 20;
nums[2] = 30;
int total = soma(nums, 3);
Neste exemplo, 3
é o tamanho do array que você está passando para a função soma
.
Espero ter ajudado. Qualquer dúvida manda aqui. Bons estudos.