C语言菜鸟问题(11)

来源:百度知道 编辑:UC知道 时间:2024/05/13 23:44:29
在下列程序中,判断i>j共执行了( )次
#include <stdio.h>
void main()
{
int i=0,j=10,k=2,s=0;
for(;;)
{ i+k;
if(i>j)
{ printf("%d\n",s);
break; }
s+=i } }

A:4 B:7 C:5 D:6
3楼的大哥 最后再问一下 for(; ;)是什么意思 是个空语句吗 那要按照什么条件来执行呢 为什么执行到 s+=i以后 又重新执行循环呢

当i=0时,执行i+=k,i=i+k=0+2=2;因为2<10所以for(i>j)不执行,所以s+=i,s=s+i=0+2=2
当i=2时,执行i+=k,i=i+k=2+2=4;因为4<10所以for(i>j)不执行,所以s+=i,s=s+i=2+4=6
以此类推 直到i>j时,执行语句for(i>j),输出s的值,并跳出程序

B
分贝是
i=0,2,4,6,8,10,12!

无限次,
是不是你写错了?
i永远为0啊。

i+k; 这句话错了吧?
如果是i+=k;的话

那么结果是6次
i=2,4,6,8,10,12!