[ Foro de C++ ]

Problema funciones C

21-Sep-2019 14:44
Invitado (Programador Noob)
0 Respuestas

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?




(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)