while 判斷語句的正確寫法(解決越界問題)

2021-10-09 03:09:46 字數 803 閱讀 7017

while()語句是我們code時比較常用的迴圈語句,但是對於while語句的判斷條件的寫法有一些重要的小技巧,在這裡分享一下。

例如:設陣列num[3],用while語句找出陣列中第乙個不為「0」的數。

輸入[0,0,0]

分析:這是常見的一種情況,無論是while還是for,如果陣列中有符合要求的元素,自然是在相應位置退出迴圈。

但是,對於這種沒有符合條件的元素,需要一些特殊的約束條件。

情形一:

最容易想到的使用while,即:

int i=0;

while

(num[i]==0

)

很明顯這種寫法會直接越界!

情形二:

加強約束條件:

int i=0;

while

(num[i]==0

&&i

執行後,會發現還是越界,而且只有執行到陣列最後一位時越界,而且越界的原因就出在while的判斷語句中,即num[i]==0時,i的值由於在i=length-1的基礎上又加了1,所以在這裡判斷時就越界了。

情形三:

改變約束條件:

int i=0;

while

(i)

這樣就會通過。

從上述三個情形,應該可以看出玄機,也就是說這裡的&&運算,「有非即非」,所以在while的判斷條件中使用&&需注意,要按照條件的嚴格程度按從左往右依次排列,嚴格程度需要根據題意來判斷。

jiayu 判斷語句的用法和寫法

坐高鐵 tickets input 你有幾張票呀 字串 tickets int tickets print tickets 判斷 判斷符號 如果票大於0,就進站 if tickets 0 print 請進站 booms input 你帶了幾個炸彈?booms int booms if booms 0...

JS的判斷語句 判斷 迴圈

判斷 條件成立做什麼 條件不成立做什麼 1 if else 2 三元運算子 簡單判斷時用的 1 如果處理的事情比較多,我們用括號包起來,每一件事情用逗號分隔 2 如果不需要處理事情,可以使用null undefined佔位 a 0 a 20?a console.log a null 語法 條件?條件...

命令執行的判斷語句( )

不考慮命令相關性的連續命令執行 cmd1 cmd2 分號前的命令執行完之後會立即執行分號後的命令。考慮到命令之間的關聯性 比如想要在某個目錄下面新建乙個檔案,當該目錄存在時,才建立 如果不存在,就不建立。這時兩個命令是有關聯性的,前乙個命令是否成功執行與後乙個命令是否執行有關。需要借助 命令回傳碼的...