一个简单的问题,,

来源:百度知道 编辑:UC知道 时间:2024/05/25 14:53:03
程序是这样的:
#include <stdio.h>
main()
{
int i=1,a=0;
for(;!a;i++)
if(i%2==1&&i%3==2&&i%5==4&&i%6==5&&i%7==0)
a=1;
printf("%d\n",i);
}
我想问一下运行的结果为什么是"120"啊,,我很菜鸟了,,希望说清楚一点了,谢了
运行结果是120,我在我电脑上运行也是120,我在我学校的机房里运行也是120,我就是想不通这个问题,120取佘2不可能等于1,120取佘7也不可能等于0,但是结果就是120,我就是想不通这个问题,如果说后面的i++多加了一个的话,那么减一个1,199的话,也不对,199取佘3也不可能等于2,就是这个问题想不通了,那位知道,告诉我了,谢了

不是,肯定不是120
满足这条件(i%2==1&&i%3==2&&i%5==4&&i%6==5&&i%7==0)
就是要i除以2余1
i除以3余2
i除以5余4
i除以6余5
i除以7余0
这样的数是多少我不清楚,但肯定不是120

你这个程序中的a和i没有关系呀,a又不影响i,这个条件for(;!a;i++)
相当于一直成立.把a 去了再试试