有這樣一道題:
寫出下面兩個迴圈的優缺點
1. for(i=0;iif(condition)
dosomething;
else
dosomething;
2. if(condition)
for(i=0;idosomething;
else
for(i=0;idosomething;
解答:第乙個優點:程式簡潔,缺點:是多執行了n-1次判斷並且不利於編譯器對**進行優化,降低了程式執行效率
第二個優點:避免了第乙個的缺點,執行效率高,缺點:程式不夠簡潔
思考:兩種方法都能得到想要的效果,但是它體現了一種程式設計風格,不管再小的程式都應該盡量的去完善它,去優化它,從小的方面做起,再大的專案中才能提高程式設計效率,提高**質量。
細節、習慣決定成敗!
一道有趣的迴圈題目
問題 輸入為 n,求乙個 n n的矩陣,規定沿 45度線遞增,形成乙個 zigzag 陣列 jepg 編碼裡取畫素資料的排列順序 用 c 實現。本人的實現思路 在 程式設計師面試寶典 中有另一種解法 問題的實質是把 0,n 1 中的整數依之字形填入乙個二維陣列。於是考慮按之字形遍歷陣列,遍歷時,方向...
一道有趣的迴圈題目
問題 輸入為 n,求乙個 n n的矩陣,規定沿 45度線遞增,形成乙個 zigzag 陣列 jepg 編碼裡取畫素資料的排列順序 用 c 實現。本人的實現思路 在 程式設計師面試寶典 中有另一種解法 問題的實質是把 0,n 1 中的整數依之字形填入乙個二維陣列。於是考慮按之字形遍歷陣列,遍歷時,方向...
一道關於訊號的題
用fork建立兩個子程序,呼叫signal 讓父程序接收鍵盤上的中斷訊號 control c 捕捉到訊號後父程序用kill 向子程序傳送自定義訊號,子程序捕捉到訊號後分別輸出如下資訊後終止 child process 1 is killed by parent child process 2 is ...