有人可以解释一下这个循环是如何工作的吗?我很难理解它何时运行if语句以及何时循环回到while。
// keep buying phones while you still have money
while (amount < bank_balance) {
// buy a new phone!
amount = amount + PHONE_PRICE;
// can we afford the accessory?
if (amount < SPENDING_THRESHOLD) {
amount = amount + ACCESSORY_PRICE;
}
}
另外,为什么没有带有if?
的else组件仍然有效答案 0 :(得分:1)
您的问题告诉我,您自己并未完全理解if
和while
,并且一起使用它们会让您感到困惑。
if
并不总是需要else
,如果条件为true则执行,如果为false则不执行任何操作。
if(){ //if true doA() and if false, skip it
doA();
}
if(){//if true doA() and if false, doB()
doA();
}else{
doB();
}
简单示例
int count = 10;
while(count != 0){
count = count - 1;
if(count == 8){
count = 0;
}
}
过程:
on while check 10 != 0;
count is now 10 - 1
on if check if 9 == 8 // FALSE doesnt do anything
loop back up to while
on while check 9 != 0;
count is now 9 - 1
on if check if 8 == 8 // TRUE do execute
count is now 0
loop back up to while
on while check 0 != 0; // FALSE
OUT OF WHILE AND FINISH
希望这有帮助