4. 首先声明,我也是一个初学者,所以如果下面有什么不对的,还请各位指出。
#include "stdio.h"
事实上,我学到的c让我这样写:
#include <stdio.h>
然后下面的main()什么的就跳过了,我觉得有意思的是i++ % 5 == 0;和++i % 8 == 0;
i++和++i都是递增,在执行i++后的i与执行++i后的i数值一样。
但有一点不同的是:如果你输出i++和++i,它们的结果并不相同!在输出i++时,先输出i的值,然后再执行递增,而++i却是先执行递增,再输出i的值!这样,i++与++i的值并不相同!
看一下楼主的代码,for循环会被执行39次,而i的值要符合以下的if语句:
1,i % 5 == 0;//也就是i要被5整除。
2,(i + 1) % 8 == 0;//i + 1要被8整除。
然而,在上面的for循环中,i的值不能同时满足这两个条件,所以最后将什么都不会被输出!
6.
@lexno 额……抱歉,一、我用#include "stdio.h"是因为在某些情况下不能用#include <stdio.h>,为了适应性。唔……还有用C4最后运行的答案是32。而书上的答案也是32,我想不通那个if 嵌套。
11. 我现在这样想,你看看对不对:
i++好像是先输出i的值,再执行递增。
这样,当i在for循环中的值为30时,i++的值为30,满足30%5==0;,而在执行后,i会递增,所以在下面输出i的值为31,然后是++i,++i会先递增,再输出i的值,所以++i的值为32,在++i % 8 == 0;之后,i的值为32。
12. 好像还是不对,kao,看似很简单的代码,一脚踩进去,mb全是坑
14. 解决了么,这个程序求的未知x的公式:x-2%5=0&&x%8=0。因为i++与++i相差2啊
17. 其实,为什么要那样求呢?效率低啊。直接if(i++%5==0||++i%8==0)/*计算流程,自己看看运算符的优先级,还是比较好理解的
18.
@lexno 你十一楼写的就是我后来想的啊~~没啥问题啊~从1开始循环,判断能被5整除,而且加2后又能被8整除的数,然后输出那个加2后的数,范围是1到39之内
19.
@匿名 这代码是我们一个题~~那套题里特么的尽是坑!不考虑什么执行效率之类的