P18 5 循环结构

来源:百度知道 编辑:UC知道 时间:2024/06/07 08:38:02
main()
{int i;
for(i=1;i<=40;i++)
{if(i++%5==0)
if(++i%8==0) printf("%d",i);
}
printf("\n");
}
输出结果是()
a5
b24
c32
d40
求详解过程

一定要算的话,只有这么算了:
设符合条件的数为x(这里指的是进行%5,%8运算前的值)

if(i++%5==0) //i++是先带入运算,后进行++处理,所以x为5的整数倍
if(++i%8==0) //++i是先进行++处理,后带入运算,再加上上一步的++处理,所以x+2为5的整数倍

所以在小于等于40的数里,只有30符合这个条件

犹豫在printf("%d",i); 时,进行了两次++处理,所以此时输出的i值为30+2=32

答案C:32

没有好方法,一个个数字依次尝试。