Título: Operadores de asignación. Publicado por: Lutecio en 21 Septiembre 2013, 20:50 pm Hola, acabo de empezar un curso de programación en C muy básico y ya he empezado a hacer programas pequeños. Ahora estoy haciendo una prueba de escritorio a un programa que realiza la sumatoria del cuadrado de los números menores a 10 y trabajando con una variable llamada total, me surgió una duda sobre ella. La variable está declarada como total, y después para las operaciones tengo
total+=y, donde y tiene asignado el valor de 1, pero total no tiene un valor asignado antes. Para cuando una variable no tiene asignado un valor, ¿cuál toma?. Disculpen por la poca explicación, espero haberme explicado bien. Muchas gracias. Título: Re: Operadores de asignación. Publicado por: rir3760 en 21 Septiembre 2013, 21:03 pm Toda variable local (definida dentro de un bloque y sin el calificador "static") inicia con el valor indicado en su declaración, si esto se omite el valor inicial sera no definido o basura:
Código
Lo usual con variables utilizadas para calcular un total es inicializarlas a cero: Código Ya que de no hacerlo la variable iniciaría con solo Dios sabe que valor y la expresión "total + y" no daría el resultado esperado. Un saludo Título: Re: Operadores de asignación. Publicado por: z3nth10n en 21 Septiembre 2013, 21:17 pm Buenas, @rir lo explico muy bien, pero ya que me hace ilusión pues lo explico yo también...
Básicamente, si por ejemplo decimos que y es igual a 1... Podriamos dejar de hacer total+=y y pasar a esto: total++, básicamente ++ suma 1 a esa variable... en caso de que sea mayor que 1, supongamos que 5, pues es recomendable hacer: y=5 total+=y por ejemplo: Código
Cada vez que llames a sumar, en caso de que no digas que "total=0", se va a sumar 5... También puedes hacer: Código
Retomando tu pregunta: Para cuando una variable no tiene asignado un valor, ¿cuál toma?. Siempre que se declare una variable entera y no se iguale a nada, siempre va a tomar el valor de 0... Si es eso lo que preguntas... :P Un saludo. |