Título: Problema Funciones C Publicado por: Abedul69 en 21 Septiembre 2019, 14:49 pm 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*/ /* Bibliotecas */ #include <stdio.h> #include <stdlib.h> /* 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? Título: Re: Problema Funciones C Publicado por: K-YreX en 21 Septiembre 2019, 15:05 pm La función <scanf()> tiene que recibir como segundo parámetro la dirección de memoria de la variable donde quieres guardar el número en este caso.
Corrección: Código Otra forma de hacerlo para no crear la variable <numero> es guardarlo directamente en el parámetro <variable> así: Código
PD: Para futuras consultas coloca tus códigos entre etiquetas de Código GeSHi para facilitar la lectura a los demás. Suerte :-X Título: Re: Problema Funciones C Publicado por: Abedul69 en 21 Septiembre 2019, 15:32 pm Madre miaaaa!!!! Pero si es un olvido que he tenido otras veces y lo he arreglado sin problemas!!!
Cuando estas ciego, estas ciego. Con lo obvio que se ahora que me lo dices. Muchisimas gracias YreX-DwX!!! Te debo una!! =D :D :D |