我的C++代码中有几条C++语句(一条嵌套在另一条代码中),我希望确保它们能像我预期的那样运行-代码如下:
if(state == entry){
    if(abs(distance < 0.05){
        state = arcing;
        ...
        startAngle = positionAC;
    }
    // Some more statements here...
}如果满足了第二个if语句的条件,那么我的注释"//这里有更多的语句.“的代码会不会.既然state的值已经更改为arcing而不是entry,那么现在运行吗?我认为应该运行它们,因为当第一个条件为真时,代码仍将执行,尽管现在不再是了。这是正确的吗?
发布于 2015-03-26 10:44:28
如果-检查
if(state == entry)将精确执行一次,此时在代码中到达该行。
从那时起,如果状态或条目的值被修改了--如果到达该行时state等于entry,则if -块中的全部代码将被执行。
发布于 2015-03-26 10:44:22
如果If语句中的条件
if(state == entry){将被计算为true (在这里只计算一次),然后执行if的复合语句。
发布于 2015-03-26 11:39:26
注释下的语句将精确执行一次,除非第一个条件本身不在循环或递归调用的方法中。
但是,如果要确保注释后的代码仅在状态==条目在该时间点执行时才能执行,则可以更改代码如下
if((状态==条目)&(abs(距离<0.0 5)){
state = arcing;
...
startAngle = positionAC;}
否则,如果(状态==条目)
{
// Some more statements here...}
https://stackoverflow.com/questions/29276409
复制相似问题