回 帖 发 新 帖 刷新版面

主题:我是一个新手,在C上有问题请帮忙解释一下.

请问下面这句程序的意思:
    
     for(i=3,X%i && i<x;i+=2);

   这一行里的X%i和i+=2,不是很明白是什么意思?

回复列表 (共14个回复)

11 楼

这个是对的
可这样理解1`
 for(i=3,X%i && i<x;i+=2);
循环条件为:X%i!=0(即X对i取余后不等于0,X不是i的倍数时条件成立; 并且还要满足 i<x。当这两个条件满足时条件才为真,才执行循环体内的语句;每执行一次i自增2。
所有的语句没有错!~

12 楼

也是一踩鸟,的确像这样的问题我想多些才好,真的学到了那么一点点知识。

几位大哥可不要看我们是新学的,连发帖的权限都不给了吧。书上确实找不到什么了,况且天天来论坛,就是为了在网上学到东西,要不就不上网了。

13 楼

如果X就是x的话,支持9楼的看法。
如果不懂的话,可以将X,x当成连个个具体的实数,比如X为10,x为8。
这样就变成了for(i=3,10%i && i<8;i+=2);
这样你就比较好理解了。


基础重在积累。相信一天也可以成为高手!

14 楼

[quote]
我的见解如下:
1、这是个空循环。
2、“i = 3,” 应当改为“i = 3;”,表示此循环中,i的初值为3。
3、X%i && i <x;  表示循环的条件是X除以i的余数不为0,且i<x;
4、i += 2 意思是每执行依次循环后,i的值增加2。 
  “i += 2”等价于“i = i + 2”。

我也支持你,别因为有人小瞧我们就生气,没那个必要。
曼联教练弗格森告戒弟子们:“外界对我们的不公是对我们的嫉妒,我们要用更好的表现回击他们……”[/quote]

讲解的很好!补充一下,循环体的第二部分是逻辑表达式。只要值[b]非零[/b],比如说x=8,i=3时,结果是5除以3的余数等于2(不等于0),结果就判定为[b]真[/b],此时继续执行循环。直到i>x[b]或[/b]i整除x时退出循环。

我来回复

您尚未登录,请登录后再回复。点此登录或注册