このコードに出くわしました。私は通常、「&&」または「||」を使用します ループ内の複数の条件を分離するために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
誰かが理由を説明できますか?最後のカンマ区切りの条件だけをチェックしているようです。