TA的每日心情 | 汗 2024-10-15 10:05 |
---|
签到天数: 372 天 [LV.9]以坛为家II
|
看一个示例:- #include <stdio.h>
- int main() {
- for (int i = 0; i < 5; i++) { //进行5次循环
- if (!i%2) { //对i进行取余计算(<span style="line-height: 1.5;">0、1、0、1、0</span><span style="line-height: 1.5;">),再取非,得到的数值应该是1、0、1、0、1</span>
复制代码 根据以上分析,得出的结果应该是1、3,可输出的结果却是:为什么?关键就在于if(!i%2),取非的优先级是很高的(参考C语言运算符优先级),所以结果是1%2、0%2、0%2、0%2、0%2,即结果为1、0、0、0、0,从而continue只被执行一次,第一次。所以会输出1、2、3、4这样的结果。
这个例子对于初学者来讲有点绕,但信息量很大,建议多思考一下。
|
|