for(j=0,k=-1;k=1;j++,k++) printf("****\n"); (A)循环结束的条件不合法 (B)是无限循环 I (C)循环体一次也不执行 (D)循环体只执行一次
时间: 2023-12-16 11:06:02 浏览: 103
对for循环中表达式和循环体的执行顺序详解
5星 · 资源好评率100%
这段代码中的循环条件 `k=1` 是一个赋值语句,并不是条件语句,因此该循环会成为一个无限循环。正确的循环条件应该是 `k<=1` 或者 `k>=-1`。因此,选项 (B) 是正确答案。
此外,循环体中的 `j++` 和 `k++` 语句也可能会导致一些问题,因为它们增加的值并不是一样的。如果想要让 `j` 和 `k` 同步增加,可以使用 `++j` 或者 `++k`。因此,修正后的代码应该是:
```c
for (j = 0, k = -1; k <= 1; j++, k++) {
printf("****\n");
}
```
这样,循环会按照预期执行三次,输出三行 `****`。
阅读全文