Hola gente. Tengo un programa sencillo para inicarme con funciones. El problema es, que en C no me funciona y en C++ (cambiando los printf por cout y scanf por cin) si funciona. El error cuando debugeo es "program received signal sigsegv segmentation fault".
El programa es el siguiente: /* C */ /* Programa que tiene una funcion que modifica una variable numerica pasada por parametro. La funcion debe pedir un numero al usuario y asignarselo a la variable*/
/* Funciones a utilizar */ void modificar_variable(int *variable);
/* Programa Principal */ int main (void) { int numero_a_cambiar=3; printf("El numero a cambiar es %d\n",numero_a_cambiar); modificar_variable(&numero_a_cambiar); printf("El numero cambiado es %d",numero_a_cambiar);
return 0; }
/* Funciones */ void modificar_variable(int *variable){ int numero; printf("Introduzca el valor que desee que tenga la variable: "); scanf("%d",numero); *variable=numero; }
la cosa es que creo que el problema esta en el scanf, porque si escriblo lo siguiente funciona:
/* Funciones */ void modificar_variable(int *variable){ int numero; printf("Introduzca el valor que desee que tenga la variable: "); numero=35; // scanf("%d",numero); *variable=numero; }
Si escondo el scanf con comentarios y le pongo un valor a numero, el programa y la funcion van bien. ¿Alguna idea de que esta fallando?