No se puede entender el bucle con dos variables [duplicado]
Esta pregunta ya tiene una respuesta aquí:
Cómo funciona el operador de coma 9 respuestasCuando uso dos variables en un bucle for con diferentes condiciones, dos condiciones como las que he usado a continuacióni<3,j<2
el bucle for siempre se ejecuta hasta que falle la segunda condición.
#include<iostream>
#include<conio.h>
using namespace std ;
int main()
{
int i,j ;
for(i=0,j=0;i<3,j<2;i++,j++)
{
cout<<"hello" ;
}
getch() ;
return 0 ;
}
En ese código,hello
se imprime 2 veces. ¿Por qué
Si usoi<3,j<10
, "Hola" se imprime 10 veces. No puedo entender por qué se descuida la primera condición. ¿Es dependiente del compilador o algo más?
Todo funciona normalmente si lo reemplazo con condiciones como || (OR) o && (AND). Otra cosa es que no puedo inicializar iyj en el ciclo for, me muestra un error, pero funciona bien cuando declaro variables en estilo C o una variable fuera del ciclo for , ¿por que es esto entonces
Compiler que he usado es Orwell Dev C ++.
Gracias por adelantado