Foros del Web » Programación para mayores de 30 ;) » C/C++ »

las variables cambian solas de valor

Estas en el tema de las variables cambian solas de valor en el foro de C/C++ en Foros del Web. Hola tengo un problema que no me lo puedo explicar, las variables me cambian de valor solas, sin ninguna instrucción, porque puede ser??? si alguien ...
  #1 (permalink)  
Antiguo 07/10/2010, 05:31
 
Fecha de Ingreso: abril-2010
Mensajes: 23
Antigüedad: 14 años
Puntos: 0
las variables cambian solas de valor

Hola
tengo un problema que no me lo puedo explicar, las variables me cambian de valor solas, sin ninguna instrucción, porque puede ser???

si alguien me puede dar una explicacion se lo agradeceria mucho
  #2 (permalink)  
Antiguo 07/10/2010, 06:42
 
Fecha de Ingreso: septiembre-2010
Mensajes: 16
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: las variables cambian solas de valor

No es que cambian solas, eso sucede cuando no inicializas una variable a un valor fijo, cuando declaras una variable sin ningún valor su contenido es basura,es decir puede ser cualquier cifra letra o caracteres raros acostumbra a inicilializar tu variables a 0 cuando las declaras, es una buena costumbre y es necesario para evitar errores de ese tipo.
  #3 (permalink)  
Antiguo 07/10/2010, 06:44
 
Fecha de Ingreso: septiembre-2010
Ubicación: http://nomenrecordo.blogspot.com/
Mensajes: 111
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: las variables cambian solas de valor

También puede ser que no tengas "limpio" el buffer del teclado y te coja carácteres de más. Te recomiendo hacer un fflush(stdin)
  #4 (permalink)  
Antiguo 07/10/2010, 07:15
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 3 meses
Puntos: 606
Respuesta: las variables cambian solas de valor

Lo ideal es que pongas el código de tu programa (si es pequeño). Quizás uses punteros y tengas algo mal, o te equivoques al usar alguna función, que la variable no haya sido inicializada, etc.
__________________
Aviso: No se resuelven dudas por MP!
  #5 (permalink)  
Antiguo 07/10/2010, 08:33
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: las variables cambian solas de valor

A mi me paso una vez que yo tenia un char, Y una funcion me pedia un puntero a int. Por lo tanto casteaba ese char a entero y pasaba su referencia. Y justo ese funcion modificaba todo el entero por lo que me pisaba otras variables ademas de solo el char.
Estuve un buen tiempo hasta descubrir que era eso. En un principio se solucionaba si declaraba vatias variables antes que esa. Tiene mucho sentido ahora. Pero antes estaba re desasperado.

Por eso te recomiendo que revises tu codigo. O que lo postees aca.
  #6 (permalink)  
Antiguo 08/10/2010, 00:55
 
Fecha de Ingreso: junio-2010
Ubicación: Madrid
Mensajes: 620
Antigüedad: 13 años, 11 meses
Puntos: 73
Respuesta: las variables cambian solas de valor

Las variables que declaras dentro de una función (si no tienen el atributo static) se almacenan en la pila del sistema, de este modo se "destruyen" automáticamente al salir de la función. Al entrar a la función y tomar espacio para esas variables, si no las inicias a ningún valor, tendrán el valor que corresponda al contenido de la memoria que ocupa ahora esa variable. Por eso parece que cambian de valor sin haberlas tocado. Sigue el consejo de logic_tristaN e inicia tus variables cuando las declares.
  #7 (permalink)  
Antiguo 13/10/2010, 08:35
 
Fecha de Ingreso: abril-2010
Mensajes: 23
Antigüedad: 14 años
Puntos: 0
Respuesta: las variables cambian solas de valor

Muchas gracias por todas las contestaciones, no he conseguido averiguar el verdadero problemas pero si solucionarlo, cuando declaraba variables y no las usaba para nada, aunque estuviesen inicializadas tomaban el valor que les daba la gana, una vez ya utilizadas parece que responde.
Nose, es algo raro..
  #8 (permalink)  
Antiguo 13/10/2010, 09:22
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: las variables cambian solas de valor

Las variables toman el valor que esta en el espacio de memoria que se le asignan.

Etiquetas: variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:08.