刚学c,有个问题求解

img


为什么选无限循环

k=1是条件判断语句,变成了赋值语句,当然永远为真了,变成了死循环,修改:

for(j=0,k=-1;k<=1;k++,j++){
  printf("****\n");
}

因为k=1是赋值。
恒成立,永远满足循环条件,所以是无限循环的。

img

因为判断语句是 k=1 k=1是赋值语句,永远为永真.
for循环只有在不符合条件的时候才会退出循环。而k=1是永真语句

因为是k=1,不是k==1
k=1是赋值语句,赋值后k的值为1,即永远为真,所以死循环