对于下面程序if(a=1) continue;n++;我的问题是if表达式的值为1(即为真的话)是执行continue语句吧?因为我看到参考书上题目有的解析是if条件为真,则执行continue.而有的则是if条件为假,则执行continue.对于if语句,一般的话是if表达式为真,则执行if后面的语句,若为假则不执行.所以,不知道哪个是正确的?请高手帮忙解答下困惑.谢谢/.o,不过也一样,因为把1赋值给a表达式也为1,为真.这里我只是举个例子,问下关于if这个问题.因为做题目的时候遇到这样问题.
3 回答
红糖糍粑
TA贡献1815条经验 获得超6个赞
continue是用在while或者for循环里面才有意义吧。
if语句与continue没有关系。所有的if语句都是:
if (condition) {
true-statements;
} else {
false-statements;
}
我猜参考书说的没错,是你理解错了。一个较完整的例子:
while (1) {
...
if (a == 1) continue;
n++;
...
}
如果a是1,则执行continue,结果是跳过if后面包括n++在内的所有语句,重新进入while顶部。
如果a不是1,就不执行continue。依次执行包括n++在内的所有语句。
呼如林
TA贡献1798条经验 获得超3个赞
这个问题,这样的,if里面为真肯定执行下面的语句啦。但是,你要注意continue的用法,这是个小细节。要注意continue在循环中的用法,你没有把其他语句写出来啦。
所以continue其作用是为结束本次循环。即跳出循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。
continue语句和break语句的区别是:continue语句只结束本次循环,而不终止整个循环的执行。而break语句则是结束整个循环过程,不再判断执行循环的条件是否成立。
婷婷同学_
TA贡献1844条经验 获得超8个赞
if(a=1) continue;
首先你这句话写错了,应该是if(a==1) continue;
至于你的问题,当然是if后面的表达式为真才执行后面的continue
- 3 回答
- 0 关注
- 410 浏览
添加回答
举报
0/150
提交
取消