sicoloco55 Posted April 28, 2012 Report Share Posted April 28, 2012 hola a todos: estoy haciendo una tarea donde me piden pasar punteros a funciones pero estos punteros apuntan a un vector.Este es el codigo que escribi pero no se porque me dice que le paso un int** a una funcion que espera un int* #include <stdio.h> #include <math.h> #include <stdlib.h> #include <time.h> #ifndef TAMAÑO #define TAMAÑO 10 #endif int suma_array(int * arreglo); void muestra_array(int * arreglo); void llena_arreglo(int * arreglo); void main(){ int opcion = 10; int * arreglo = NULL; printf("Ingrese una opcion: \n1. Llenar arreglo\n2. Mostrar arreglo\n3. Sumar arreglo"); scanf("%d", &opcion); while(1){ switch(opcion) { case 1: { arreglo = (int *)malloc(sizeof(int)*10); llena_arreglo(&arreglo); break; } case 2: { if(arreglo != NULL) { muestra_array(&arreglo); break; } else { printf("ERROR"); break; } } case 3: { if(arreglo != NULL){ printf("La suma del arreglo es: %d",suma_array(&arreglo)); } else { printf("ERROR"); } break; } default: { printf("ERROR"); } } } } void llena_arreglo(int * arreglo) { srand ( (unsigned)time ( NULL ) ); int i = 0; for (i; i < TAMAÑO; i++) { *(arreglo + i) = rand()%100; } muestra_array(&arreglo); } void muestra_array(int * arreglo) { int i = 0; for (i; i < TAMAÑO; i++) { printf("Nº %d: %d\n",i+1, *(arreglo + i)); } } int suma_array(int * arreglo) { int suma = 0; for (int i = 0; i < TAMAÑO; i++) { suma = suma + *(arreglo + i); } return suma; } Desde ya muchas gracias Link to comment Share on other sites More sharing options...
AshWilliams Posted April 28, 2012 Report Share Posted April 28, 2012 Saca el ampersand en la llamada a funcion...ej: en vez de llena_arreglo(&arreglo); Pon: llena_arreglo(arreglo); Link to comment Share on other sites More sharing options...
zafrada Posted April 28, 2012 Report Share Posted April 28, 2012 Saca el ampersand en la llamada a funcion...ej: en vez de llena_arreglo(&arreglo); Pon: llena_arreglo(arreglo); Exacto, eso se debe a que en C, el nombre del vector corresponde a un puntero al primer elemento del vector. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now