C语言程序分析题,求详细过程

来源:百度知道 编辑:UC知道 时间:2024/06/14 01:12:23
8.下面程序的运行结果是(20)
main( )
{ int i=1;
while(i<=15)
if(++i%3!=2) continue;
else printf(“%d”,i);
printf(“\n”);
}

i的初始值为1 下面是一个循环
当i+1之后的值对3求余
如果不等于2就跳出本次循环 继续执行循环直到i满15
否则,就执行输出i值

这题 就是找除以3余2的值 最后为2 5 8 11 14
(注意++i是使用i前先使i加1)
我运行了的~~

continue呢,是跳出本次循环的标志,如果if语句是正确的,就跳出本次while循环,如果if语句是错误的,则打印出整型数据 i,而if和else是while循环体里的的语句,这里只有2,8,11,14,符合条件(8初以3余数为2),20也是符合条件的,但i的值显然最大为16,则打印不出20的结果,程序的运行结果应该是8,11,14,不知是我哪里出了错误,还是答案印错了,你再尝试运行一下吧,可以转换 if条件,检查结果。

运行结果是2581114
main( )
{ int i=1;
while(i<=15) 循环 管到else printf(“%d”,i);
if(++i%3!=2) continue; ++i 是先运算i%3!=2 再将i+1
如1%3!=2 则 进行i+1后printf(“%d”,i);
else printf(“%d”,i);
printf(“\n”);
}

一楼正解^_^