Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - Abedul69

#1
Programación C/C++ / Problema Funciones C
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?