题目
18.填空题执行以下程序后的输出结果是____main(){int a, b, c, d, i, j, k;a = 10; b = c = d = 5; i = j = k = 0;for( ; a > b; ++b)i++;while( a > ++c )j++;dok++;while( a > d++);printf("i = %d, j = %d, k = %dn", i, j, k);}
18.填空题
执行以下程序后的输出结果是____
main()
{
int a, b, c, d, i, j, k;
a = 10; b = c = d = 5; i = j = k = 0;
for( ; a > b; ++b)
i++;
while( a > ++c )
j++;
do
k++;
while( a > d++);
printf("i = %d, j = %d, k = %d\n", i, j, k);
}
题目解答
答案
1. `for`循环中,`a > b`条件成立5次(`b`从5增至10),故`i = 5`。
2. `while`循环中,`a > ++c`条件成立4次(`c`从5增至10),故`j = 4`。
3. `do-while`循环中,`a > d++`条件成立5次(`d`从5增至10),共执行6次循环体,故`k = 6`。
最终结果为:
```
i = 5, j = 4, k = 6
```