escribí un pequeño programa en c, pero cambiando de posicion unas lineas (z=x*y;) me cambia el resultado...
(http://i58.tinypic.com/675evb.png)
así me carga bien
pero poniendolo arriba para ahorrarme lineas o espacio
(http://i61.tinypic.com/1nxx6w.png)
me sale cualquier otro numero...
según pregunté, ese numero es informacion almacenada en la ram, pero como puedo hacer que de la segunda forma me cargue el programa de la primera forma?? (osea, bien.)
y otra duda mas. no me acepta (x*y=z;) me obliga a poner (z=x*y). ¿El orden de la operacion es obligatoria o yo no especifiqué algo antes de la operacion?
gracias de antemano.
estas haciendo la operacion antes de asignarle un numero a la variable por eso te da diferente explicado en forma grafica:
le estas diciendo al pc que cree un contenedor(una variable) y que multiplique lo que hay ahi , pero como no has puesto nada el simplemente sacara de ese contenedor lo que encuentre y lo multiplicara
a diferencia del otro ejemplo donde si le dices que guardar en ese contenedor
lo segundo de : x*y=z; si importa el orden jeje que es nombre_de_la_variable=valor;
No conozco bien C ni cómo funciona, pero a mí me parece mucho más lógico, asignarle a Z el valor de X * Y cuando éstos tienen valores. En la mayoría de lenguajes, una variable sin inicializar no hace referencia a nada, por lo que val null (o undefined), y si haces X * Y y éstos no tienen valores, en otros lenguajes te lanza una excepción (desconozco si ésto es así también en C).
En resumen, realiza operaciones con variables cuando éstas tienen algún valor.
CitarNo conozco bien C ni cómo funciona
bueno si conoces java entiendes c al menos lo basico
jajaja gracias chicos!! y ahora ya entendí porque no le asignaba los valores que le correspondian xD
gracias daryo!! =)
Lo que pasa, como bien dice daryo, es que estas diciendo que z tiene el valor de x*y cuando todavía a x e y no se le han asignado valores (en teoría), por lo tanto, debes hacer esa operación una vez que le hayas asignado los valores a x y a y.
Y debes hacerlo asi:
z=x*y
Pues el parser del compilador de C reconoce que a la variable z se le va asignar el resultado de la operación (*) con las variables x e y
Salu2s
pd: Si puedes, creo que sería mejor para la próxima poner el código en vez de la imagen.
Cita de: daryo en 20 Abril 2015, 00:09 AM
bueno si conoces java entiendes c al menos lo basico
Entiendo lo básico, como estructuras, etc. Pero no su arquitectura y su funcionamiento interno, al menos, no tan bien como Java y otros lenguajes.
Cita de: DarK_FirefoX en 20 Abril 2015, 00:17 AM
pd: Si puedes, creo que sería mejor para la próxima poner el código en vez de la imagen.
oka, lo tendré en cuenta para la proxima =), gracias por su ayuda :3