課程
/后端開發
/C
/C語言入門
請看下面的圖,出來的結果怎么會是71呢
還有就是例題解答里為什么在for循環下的if語句中非要加上break?
2018-08-30
源自:C語言入門 6-6
正在回答
我這沒有調試軟件,如果沒出錯的話,你運行該程序每次的結果都應該不一樣,因為你定義的int index是沒有賦初值的。這時候index的值是系統隨機給的。只有static靜態變量不賦初值的時候變量值是默認0。加break的原因是,第一次出現目標元素時停止循環。與樓上說的類似,如果出現重復元素,得到的結果不一樣,這個根據需求來判斷。還有就是出現目標元素后就停止循環,對這個程序而言是更好的,因為我們不必要浪費時間循環后面的元素。
補充樓上? int?類型定義時候前面沒有修飾的話? 默認會是auto auto的默認值可以是任意的值或表達式
你怎么跑出71的等大神說說吧。按道理說,你的這個程序中index沒有通過你的for循環得到賦值,所以index應該是定義時候的初值,應該是0。
例題解答中為什么if語句里非要加上break。加上break是為了及時跳出當前循環,查詢到對應元素第一次出現的位置。就例題來講arr[5]={3,12,9,8,6},有沒有break沒有影響。但是如果這個數組中存在重復元素arr[5]={1.2.3.4.3},如果value=3,不加break語句,那么得出結果會是index=4,即元素3最后一次出現的位置。
舉報
C語言入門視頻教程,帶你進入編程世界的必修課-C語言
3 回答運行結果出來的時候,會多出現一組數據 這是為什么?
1 回答如果數組中存在多個要查找的數呢?
3 回答為什么輸出結果不會出現41
2 回答為什么是將數組arr1和數組arr2的第一個元素傳入函數中?
2 回答為什么 數組名稱[0]對應元素1,而數組元素[n]對應元素n呢?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2018-08-30
我這沒有調試軟件,如果沒出錯的話,你運行該程序每次的結果都應該不一樣,因為你定義的int index是沒有賦初值的。這時候index的值是系統隨機給的。只有static靜態變量不賦初值的時候變量值是默認0。加break的原因是,第一次出現目標元素時停止循環。與樓上說的類似,如果出現重復元素,得到的結果不一樣,這個根據需求來判斷。還有就是出現目標元素后就停止循環,對這個程序而言是更好的,因為我們不必要浪費時間循環后面的元素。
2018-08-30
補充樓上? int?類型定義時候前面沒有修飾的話? 默認會是auto auto的默認值可以是任意的值或表達式
2018-08-30
你怎么跑出71的等大神說說吧。按道理說,你的這個程序中index沒有通過你的for循環得到賦值,所以index應該是定義時候的初值,應該是0。
例題解答中為什么if語句里非要加上break。加上break是為了及時跳出當前循環,查詢到對應元素第一次出現的位置。就例題來講arr[5]={3,12,9,8,6},有沒有break沒有影響。但是如果這個數組中存在重復元素arr[5]={1.2.3.4.3},如果value=3,不加break語句,那么得出結果會是index=4,即元素3最后一次出現的位置。