Necesito una respuesta para esto con alguna explicación [cerrado]

void main (){
    int i, j;
    for (i=0, j=5; j >0, i < 10; i ++, j--)
        printf("\nClub Excel");
}

¿Cuál será la salida?

preguntado el 27 de agosto de 11 a las 17:08

en serio, esa es tu pregunta ?? -

¿Has intentado ejecutarlo? ¿Qué obtuviste? -

Ver por ti mismo: ideone.com/kNlPt -

operator , tiene devuelve el valor de su operando derecho, es decir a,b tiene el mismo valor que b. Por lo tanto, su bucle for se ejecuta 10 veces porque j>0,i<10 es el mismo que i<10 -

Creo que el OP no entiende por qué ese comportamiento. Y él / ella parece haber hecho un lío con la Q citando Need an Answer, Need an explanation con la salida del programa debería haber sido la forma correcta de preguntar esta Q. -

1 Respuestas

Si ha compilado ese código, verá una advertencia:

prog.c:4: warning: left-hand operand of comma expression has no effect

Le dice que en este uso del operador de coma, se toma en consideración la declaración en el lado derecho de la coma, mientras que se ignora la del lado izquierdo.

Esto básicamente significa que la condición verificada utilizada para el for bucle es:

i < 10

tiempo,

j >0

se ignora ya que está en LHS de la expresión de coma.

Respondido 27 ago 11, 21:08

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.