Duda con la sintaxis en C (usando code::blocks) -- solucionado, gracias;

Iniciado por Naslednik, 19 Abril 2015, 23:43 PM

0 Miembros y 2 Visitantes están viendo este tema.

Naslednik

escribí un pequeño programa en c, pero cambiando de posicion unas lineas (z=x*y;) me cambia el resultado...



así me carga bien

pero poniendolo arriba para ahorrarme lineas o espacio


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.
preguntas concretas tienen respuestas concretas. procura no preguntar nada tan "generico" si no quieres respuestas tan "genericas".

daryo

#1
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;
buenas

Usuario Invitado

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.
"La vida es muy peligrosa. No por las personas que hacen el mal, si no por las que se sientan a ver lo que pasa." Albert Einstein

daryo

CitarNo conozco bien C ni cómo funciona
bueno si conoces java entiendes c al menos lo basico
buenas

Naslednik

jajaja gracias chicos!! y ahora ya entendí porque no le asignaba los valores que le correspondian xD

gracias daryo!! =)
preguntas concretas tienen respuestas concretas. procura no preguntar nada tan "generico" si no quieres respuestas tan "genericas".

DarK_FirefoX

#5
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.

Usuario Invitado

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.
"La vida es muy peligrosa. No por las personas que hacen el mal, si no por las que se sientan a ver lo que pasa." Albert Einstein

Naslednik

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
preguntas concretas tienen respuestas concretas. procura no preguntar nada tan "generico" si no quieres respuestas tan "genericas".