1. 程式人生 > >沒有躲過的坑--沒有及時break出for迴圈

沒有躲過的坑--沒有及時break出for迴圈

break這個詞都不陌生,最常用到的就是在switch語句中。

如果在switch的case後面忘寫了break,就會順序執行到下一個case的對應的語句。

我說的這種情況只是對於C++,對於C Sharp如果忘記了break,編譯器是會報錯的。

仔細想想,好像自己還真沒有用過break在其他地方。導致自己又掉入了一個大坑中。

比如使用一個for迴圈查詢陣列中所要的元素中your_find對應的索引:

int index = 0;
for(int i=; i<1000; i++)
{
    if(array[i] == your_find)
    {
        index
= i; } }

這樣呢,上訴的程式碼會把整個for迴圈都執行完成。
為了,提高效率,如果我們可以確定array陣列中只有一個與your_find對應的索引,就可以這樣修改程式碼:

int index = 0;
for(int i=; i<1000; i++)
{
    if(array[i] == your_find)
    {
        index = i;
        break;
    }
}

好了,當if中語句為真的時候,跳出for迴圈。

下面延伸一下,那麼對於二重迴圈,執行break的話,是跳出哪一個迴圈呢?
最簡單的方法,寫一段程式碼測試:

for(int j=0;j<=20;j++)
{
   for(int i=0;i<=10;i++)
   {
        if(i==5) break;
   }
   if(j==20) cout<<" 'break' break from the nearest loop"<<endl;
}
cout<<j<<endl;
cout<<i<<endl;

上面程式碼的輸出為:
break’ break from the nearest loop”
21
5

因此可以確定,break是跳出離他最近的一層迴圈。

相關推薦

沒有--沒有及時breakfor迴圈

break這個詞都不陌生,最常用到的就是在switch語句中。 如果在switch的case後面忘寫了break,就會順序執行到下一個case的對應的語句。 我說的這種情況只是對於C++,對於C Sharp如果忘記了break,編譯器是會報錯的。 仔細想想

沒有--使用using namespace std的壞習慣【轉】

(轉自:https://blog.csdn.net/wangshubo1989/article/details/50061311?utm_source=blogxgwz9) 使用名稱空間的目的是對識別符號的名稱進行本地化,以避免命名衝突。 在C++中,變數、函式和類都是大量存在的。如果沒有名

沒有--string中的c_str()陷阱

string.c_str是Borland封裝的String類中的一個函式,它返回當前字串的首字元地址。 c_str函式的返回值是const char*的,不能直接賦值給char*,所以就需要我們進行相應的操作轉化。 #include <iostream

沒有--類中的靜態成員變數(static or const static)

工作中是這樣的,A類中有一個成員變數x,最開始宣告為私有: class A{ private: int x; }; 現在需要在另一個cpp中使用這個x,所以要把它變為共有並且靜態: class A{ public: static int

沒有--智慧指標陷阱

之前部落格《淺析C++中的智慧指標》講訴了一些智慧指標的東西,可以幫助我們更加方便高效的使用指標,但是凡事都不會很完美。即使你使用智慧指標代替了傳統的指標,在實戰中你還是會遇到很多的坑兒。 現在,就分幾個方面: 首先為了簡化程式碼,進行了一些定義: cla

沒有--deprecated關鍵字

最近兩個被一個問題搞的暈暈乎乎,一直把焦點關注在 EXPRESSION SFINAE。 因為對我來說,EXPRESSION SFINAE也是完全新鮮的內容,有時間也發個關於這個特性的部落格。 經歷了一番周折,下載最新的VS2015,使用低版本的編譯器,都未能

沒有--wstring與string的轉換

wstring 是指的寬位元組。 typedef basic_string<char> string; typedef basic_string<wchar_t> wstring; 在實際工程中,我們往往需要把string轉換為w

沒有--重定義關鍵字

從學習程式語言開始,我們就知道變數或是函式的命名不能使用系統的關鍵字。 但是有時候,你不得不這麼做。 比如mac、ios、Android、windows共用一個底層程式碼,這樣為了使底層更加通用,有時候就會忽略某種語言的某個關鍵字。 也許關鍵字A對於win

沒有--map的初始化(插入資料)

最近工作中需要使用map,進行查詢。 首先簡單介紹一點map,也許是教科書裡講授最少的STL知識吧。但是在實際工作中map挺重要的,用於查詢很方便快捷,尤其是以鍵和值的形式存在的! 1、標頭檔案 #include<map> 2、map的功能

那些年沒有的Appium的

1.npm安裝Appium失敗 2.輸入法遮擋控制元件導致NoSuchElementException 解決:DesiredCapabilities中設定resetKeyboard為tru

·沒有風雨沒有坎坷不必走·

第一步:建立專案 開啟Eclipse,新建一個Java專案,名叫TestSWT,手動追加一些必要的目錄後結構如下: /bin - 這個是class編譯輸出路徑 /dll - 此目錄存放SWT解壓出來的那些dll檔案(簡單應用的話swt-win32-****.dll這一個檔案就夠了) /lib - 此目錄用來

一個略懂編程的人並且完全沒有接觸IOS開發的人想要學習IOS開發應如何學習?

兩個 基礎 ray proc github上 上網 圈子 start 互聯網 (一)objective-c語言開發iOS應用 為什麽不讓初學者看斯坦福教程:我以為,斯坦福大學IOS公開課不適合入門的同學看,裏面第1.一課講解的就是MVC模式。對於一個剛入門想要學習的IOS的

nyoj 94-cigarettes (分清楚,那一部分的cigarettes是用的,那一部分是沒有的)

emp code ping using num 內存 integer lin size 94-cigarettes 內存限制:64MB 時間限制:3000ms 特判: No

實驗11-10 查詢沒有任何書的讀者的讀者編號和讀者姓名

姓名 數據 1-1 edi span not in from reader brush 請在Exam數據庫中?查詢沒有借過任何書的讀者的讀者編號和讀者姓名 Select rno,rname from exam..reader where rno not in

請問有沒有analyticstack的小夥伴們?求指點,求交流啦~謝謝謝謝謝謝謝~~~

我現在在win10系統用virtual box5.1,裝的ubuntu16.04server版,vagrant是2.0.1版本的,已經裝了十多天的open edx的analyticstack了,還是沒有成功,現在的問題是vagrant up的時候,報錯如下圖,希望懂的夥伴們支個招,謝謝啦 希望能

使用 ThinkPHP 框架,mysql 報錯:1364:Field xx doesn't have a default value,laravel 卻沒有

1364:Field 'sex' doesn't have a default value [ SQL語句 ] 1364:Field 'sex' doesn't have a default value [ SQL語句 ]   錯誤解決方法: 關閉MySQL的strict

android 全域性修改預設字型 沒有效果 填

最近有個需求要修改android app預設字型。網上有很多方法,但是最坑的是都沒有效果,但是最後還是解決了,不過不知道是什麼原因,如果知道的話歡迎留言(謝謝大家) 解決方案: 新增字型(.ttf)到工程目錄assets下, 我的是在assets在新建了一個fonts包。注意assets

idea打jar包沒有MANIFEST檔案

可能是 IntelliJ 的問題。 在 Project Structure - Artifacts 裡面選好 Main Class 之後,IntelliJ 會自動在下邊的 Directory for META-INF/MANIFEST.MF 裡填上 /$PROJECT_DIR/src/ma

沒有執行rm -rf /*的開發不是好運維

沒有執行過rm -rf /*的開發不是好運維 起因 突然收到使用者反饋說網站在手機端開啟是白屏, 很奇怪的問題. 在電腦端試了下,確實也是白屏,HTML載入進來了,好像有個核心JS載入失敗. 看到一個錯誤是: We're sorry but house doesn't work properly wi

沒有的書,就不要瞎推薦了!

馬克·吐溫曾經說過,經典小說是那種“眾人都想讀卻少有人真正花時間去讀”的書籍。“經典”的程式設計書也是如此。  在Stack Overflow(以及許多其他程式設計論壇)上,時不時有人討論“哪些書籍值得程式設計師一讀”。這個問題不斷被提出、被回答,形式不盡相同。有這麼一組書籍