關於多重for迴圈中賦初值位置的注意事項

2021-09-02 14:55:41 字數 526 閱讀 1155

我們都知道,for語句中可以為變數進行賦值,有時因需要,要對乙個變數每次迴圈都賦同乙個初值,但這個變數不是隨便就可以放到任何乙個for語句中的,如果賦值位置不對,容易導致邏輯錯誤,而編譯又沒報錯,很難找到根源。

#includeint a1(int a[10][10], int x, int y)//計算每個學生的各門成績平均數

return 0;

}int main()

a1(a,x,y);

fflush(stdin);

getchar();

}

如上**是正確的,當i滿足第乙個for,就進入下乙個for迴圈,對b賦初值為0,當j不滿足第二個for,而i+1滿足第乙個for,又再次迴圈第乙個for,重新進入第二個for,再次為b賦初值為0。

for (int i = 0,int b = 0; i < x; i++)

那麼第乙個for語句迴圈第二次時b就是第一次迴圈的b的結果,而不是0了,就會造成結果錯誤。

memset與for迴圈賦初值比較

寫 的時候思考了一會兒memset初始化快還是for迴圈初始化快。看了大量的文獻資料,結論如下 如果對於乙個陣列進行賦初值操作,memset肯定比for迴圈快 memset賦初值是按位元組為單位的,如果要賦一些比較難的值 33,22等 就比較難 接上,因為memset是按位元組為單位賦初值,當變數所...

關於多重for迴圈怎麼跳出

最近寫 時發現多重for迴圈跳出機制容易忘記,就寫一篇部落格方便記憶。function image dsc expand image src,struct mat untitled 此處顯示有關此函式的摘要 對稱奇數結構元素 如3 3,5 5 的腐蝕,原點在結構元素的中心 z,size struct...

關於 let 在 for 迴圈中的理解

每次閱讀 ecmascript 6 入門 時,關於其中的一塊 總是不能很好的理解。如下 var a for let i 0 i 10 i a 6 6 與之對應的 如果使用 var 定義變數 i,最後都是輸出10 這個都沒什麼問題,那是因為for不是塊級作用域,變數 i 直接是全域性變數。我們都知道,...