C语言中if(j%2) continue;

2024-11-09 06:08:37
推荐回答(5个)
回答1:

首先:if(j%2) continue;这个语句有问题 会报错;
continue 的意思是结束当前循环 并回到循环开始处.
if之是条件判断 并不是循环 所以 continue 与if之间并没有
直接的关系. 所以你的这个程序如果是对的话continue肯定被
包含在另外的一个循环里面. 当程序执行到continue时程序就会
制动跳到那个循环的开始处.
在就是if(j%2):
一个判断语句.
记住1."j%2"是条件表达式. 对于if而言它能给的有效结果只有2个
true 或 false.
2.在C里面非零值都为true.只有当表达式等于0的时候才为false.
知道这2点我想这个程序也就不难判断了. 即当j为奇数的时候执行
continue回到循环的开始处(注意: 不是回到if());

一步一步往下调试叫:单步调试
快捷键是F10(我超喜欢的一个键.嘿嘿)

另外就是祝你学习顺利哈. 以上只是个人愚见(偶也是菜鸟^_^)有不对的地方
希望大家纠正^_^;

回答2:

即然你说了肯定能编译,外层至少还有一层循环
如果外层是for(1;2;3),执行continue将跳到3
如果是while(1){}或do{}while(1);都跳到1

j%2是余1时继续,因为C语言的判断语句是非0即真
即if(j%2) coutinue;等价于if(j%2!=0) coutinue;

就是说即使是if(j%3)coutinue;也只有0时不继续

另外if(!j%2) coutinue;等价于if(j%2==0) coutinue;

回答3:

j%2余1时执行continue,继续执行下条语句
j%2余0时条过continue,直接执行下条语句
所以我觉得这样的语句没有什么意义

回答4:

j%2为1时coutinue,0时不做coutinue这步,
一步一步往下调试叫:单步调试,应该是F8吧

回答5:

没有判断语句,应该编译不了
if(j%2==x) coutinue;
如果j mod 2 等于x, 继续