Я наткнулся на эту часть кода. Обычно я использую '& &' или '||' для разделения нескольких условий в цикле for
, но этот код использует запятые для этого.
Удивительно, если я изменю порядок условий, выход меняется.
#include<stdio.h>
int main() {
int i, j=2;
for(i=0; j>=0,i<=5; i++)
{
printf("%d ", i+j);
j--;
}
return 0;
}
Выход = 2 2 2 2 2 2
#include<stdio.h>
int main(){
int i, j=2;
for(i=0; i<=5,j>=0; i++)
{
printf("%d ", i+j);
j--;
}
return 0;
}
Выход = 2 2 2
Может кто-нибудь объяснить причину? Кажется, он проверяет только последнее состояние, разделенное запятыми.