Q
基本編程
3
A
回答
4
處理這種情況的一種常見方法是將if
語句的主體放入一個單獨的函數中,然後如果由於某種原因導致函數無法完成,則從函數中間返回。函數返回後,for
循環中的其餘語句將運行。
void foo(void)
{
//statements
//statements
if (something_bad_happened)
return;
//statements
//statements
if (some_other_bad_thing_happened)
return;
//statements
//statements
}
void bar(void)
{
for(..;..;..)
{
if (some_foo_is_needed)
foo();
//statements
//statements
}
}
2
你可以把你如果假人do..while
循環像這裏面:
for(..;..;..)
{
do
{
if()
{
//use break somewhere here according to your logic
}
}while(false);
//statements
}
這將導致break
只跳過內部do..while
循環。
條件是false
在do..while
,因此循環只運行一次,正如預期的情況下一樣。該循環僅用於允許中間的break
。
2
而不是if,使用switch語句。任何時候你都可以跳開關。這不是一個非常實用的解決方案...但它的工作原理。
for(..;..;..)
{
switch(boolean_expression) { //break just leaves this switch statement
case 0: //false is 0
break;
default: //true is not zero
//statements
if(something)
break;
//statements you want to skip
break;
}
//statements
}
1
如果我理解你的問題,你想要寫一個聲明中if
和轉到你明顯的語句只有當條件爲真,那麼goto
聲明可能是有用的,舉例來說如果//statements
只需要如果條件爲真要運行:
for(..;..;..)
{
if(true)
{
goto dothis;
}
/* other statements */
return A;
dothis:;
//statements
return B;
}
的//statements
不必在for
循環與goto
,例如:
for(..;..;..)
{
if(true)
{
goto dothis;
}
/* other statements */
}
return A;
dothis:;
//statements
return B;
相關問題
- 1. 基本shell編程
- 2. C基本編程概念
- 3. C編程基本shell
- 4. 基本Laravel /編程問題
- 5. iPhone基本表單編程?
- 6. 基本的R編程
- 7. 基本C++編程問題
- 8. codeproblem基本的android編程
- 9. 基本的python編程
- 10. 基本的Javascript編程
- 11. 卡西歐 - 基本編程
- 12. 基本C編程問題
- 13. Scalla中的基本元編程技巧
- 14. 期望腳本編程基礎
- 15. C編程:基本雙fscanf問題
- 16. Python基本編程 - 二維列表
- 17. Java - 涉及位的基本編程
- 18. 基本的Python聲音編程
- 19. 兩個基本的Python編程問題
- 20. VS2005中的基本Windows編程問題
- 21. Stuck with STM32L-Discovery的基本編程
- 22. 用逗號進行基本編程
- 23. 基本編程幫助,Android的
- 24. C++ Builder - 基本的互聯網編程
- 25. 瞭解vs2010的基本Windows編程
- 26. Java中的基本Socket編程
- 27. 基於代理的編程使用本機編程語言
- 28. Python - 基本編碼
- 29. 基本python編碼
- 30. Python編程.....基礎
你必須多解釋一下。你是否只需要爲迭代,巢迭代或所有後續迭代? – Haris
不會破,因爲在破解的情況下破解控制會完全脫離for循環 –
舉一個更詳細的例子.. – Haris