#include<stdio.h>
main()
{int i, j , k=19;
while(i=k-1)
{k-=3;
if(k%5==0) {i++;continue;}
else if(k<5) break;
i++;}
printf("i=%d,k=%d\n",i,k);
}
我看不出结果,请解答!
while(i=k-1) 这样赋值正确么?
这K只有在k-=3,自减3,可以推断出当K=19-3*5=4的时候,循环结束,那它的上一次个循环后K=19-4*3=7,
循环开始i被赋值为K-1即6,最后一个循环时i没变过,所以结果是i=6,k=4
while(i=k-1) ~~~这应该是判断i是否为真
楼主没有给 i 赋初值呀,大概这是错的原因吧
{int i, j , k=19; while(i=k-1) {k-=3; if(k%5==0) {i++;continue;} else if(k<5) break; i++;} printf("i=%d,k=%d\n",i,k); }
i 的初值是k-1,而k 的初值是19,代码是从18开始,每次循环k-3,而i 是k-1就是判断每次-4
代码中的两个i++写错了,应该是j++,应该就是这样。