Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Naslednik en 19 Abril 2015, 23:43 pm



Título: Duda con la sintaxis en C (usando code::blocks) -- solucionado, gracias;
Publicado por: Naslednik en 19 Abril 2015, 23:43 pm
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.


Título: Re: Duda con la sintaxis en C (usando code::blocks)
Publicado por: daryo en 20 Abril 2015, 00:07 am
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;


Título: Re: Duda con la sintaxis en C (usando code::blocks)
Publicado por: Usuario Invitado en 20 Abril 2015, 00:08 am
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.


Título: Re: Duda con la sintaxis en C (usando code::blocks)
Publicado por: daryo en 20 Abril 2015, 00:09 am
Citar
No conozco bien C ni cómo funciona
bueno si conoces java entiendes c al menos lo basico


Título: Re: Duda con la sintaxis en C (usando code::blocks)
Publicado por: Naslednik en 20 Abril 2015, 00:13 am
jajaja gracias chicos!! y ahora ya entendí porque no le asignaba los valores que le correspondian xD

gracias daryo!! =)


Título: Re: Duda con la sintaxis en C (usando code::blocks)
Publicado por: DarK_FirefoX en 20 Abril 2015, 00:17 am
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:

Código
  1. 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.


Título: Re: Duda con la sintaxis en C (usando code::blocks)
Publicado por: Usuario Invitado en 20 Abril 2015, 00:17 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.


Título: Re: Duda con la sintaxis en C (usando code::blocks)
Publicado por: Naslednik en 20 Abril 2015, 00:23 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