1
resposta

ponteiro em c

Porque meu código está dando errado ?

    void digitar_numeros();
    void somar_numeros();
    void exibir_resultado();



int main(){
    setlocale(LC_ALL,"Portuguese");

    int vetor[11], result=0;

    digitar_numeros(&vetor);
    somar_numeros(&vetor,&result);
    exibir_resultado(&result);

}

    void digitar_numeros(int* vetor[11]){
        printf("Digite 10 números\n");
        for (int i=1; i<=10; i++){
        printf("\nInforme o %dº valor: ",i);
        scanf("%d", (*vetor[i]));
        }
    }
    void somar_numeros(int* vetor[11],int* result){
         for (int i =1; i<=10; i++){
             (*result) = (*result) + (*vetor[i]);
         }
    }
    void exibir_resultado(int* result){
        printf("A soma desses números é: %d",(*result));
    }
1 resposta
void digitar_numeros(int vetor[]) {  // pode ser  int *vetor  também
    printf("Digite 10 números\n");
    for (int i=1; i<=10; i++) {
        printf("\nInforme o %dº valor: ", i);
        scanf("%d", (&vetor[i]));  // tem que ser &
    }
}

void somar_numeros(int vetor[], int* result) {
    for (int i=1; i<=10; i++){
        (*result) = (*result) + (vetor[i]);  // se vetor fosse um array de ponteiros, daí sim usaria  *vetor[i]
    }
}