3
respostas

Erro na hora de compilar

Criei um for para receber e guardar os numeros no array e copiei a função, mas por algum motivo o compilado esta dando o seguinte erro "exercicio74.c:25:6: error: called object type 'int' is not a function or function pointer"

#include <stdio.h>

void soma(int numeros[10]) {
    int total = 0; 
    for(int i = 0; i < 10; i++) {
        total += numeros[i];
    }
    printf("O total é %d", total);
}

int main() {

    int numeros[10];
    int soma;

    printf("Digite 10 numeros:\n");

    for(int i = 1; i < 10; i++) {
        printf("Numero %d:", i);
        scanf(" %d", &numeros[i]);
    }

    soma(numeros[10]);

}
3 respostas

Olá Tibério!

Não sou entendedor da linguagem C, mas vamos lá.

Você declarou a função como soma() e dentro do main(), você declarou uma variável inteira como int com o nome soma.

É isso que está gerando o conflito. No fim das contas, você está tentando "colocar parênteses numa variável". É esse erro que está apontando. Mas é só comentar a declaração dessa variável que já funciona.

Depois vai dar erro na linha soma(numero[10]);, que é só tirar os colchetes depois do numero que vai funcionar.

Espero ter ajudado!

Fala Tibério, tudo bem?

Apenas complementando a resposta do Fabiano, seria algo do tipo:

#include <stdio.h>

void soma(int numeros[]) {
    int total = 0; 
    for(int i = 0; i < 10; i++) {
        total += numeros[i];
    }
    printf("O total é %d", total);
}

int main() {

    int numeros[10];

    printf("Digite 10 numeros:\n");

    for(int i = 1; i < 10; i++) {
        printf("Numero %d:", i);
        scanf(" %d", &numeros[i]);
    }

    soma(numeros);

}

Oi Tiberio, tudo bem?

Conseguimos te ajudar?

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software