刷題中發現曾經的小誤區

2021-10-05 05:38:19 字數 610 閱讀 3485

利用指標將陣列作為形參傳入

以下以int為例

void

change

(int

*p,int len)

//以形式來對陣列中的值進行修改

void

change1

(int

*p,int len)

//test case

/*int p[10];

for (int i=0;i<10;i++)

p[i]=i;

*/

分別呼叫change和change1函式,輸出p陣列,得到以下結果:

before:01

2345

6789

change:12

3456

78910

change1:01

2345

6789

這個小誤區發現源自乙個字串的題目,功能函式中形參利用了字元指標將乙個字串傳入,並期望對該字串進行修改,無返回值。而我直接像change1中的方法以期望改變整個字串的值,然鵝wa!

程式設計比賽中發現的問題

今天學校舉行程式設計比賽,我用的是c語言,在比賽的過程中我犯了乙個以前沒有注意到的錯誤 型別轉換。錯誤 如下 float a scanf lf a printf f a 當輸入1的時候,輸出結果為0.000000。改成下面這樣 double a scanf f a printf lf a 輸入為1的...

專案中發現的小問題規整

最近的專案由於對ram的要求非常高,所以使用了外部sram,所使用的作業系統ucos ii也使用了記憶體管理,即記憶體申請和釋放,得到經驗如下 1 所執行應用程式第一次是正確的,執行第二次出錯,經過排查,在釋放的時候osmemput commramc ptr,xstring sscommand pt...

linux的platform中發現的一點技巧

linux版本 2.6.25 在linux核心的platform匯流排中,有匯流排裝置,結構體如下 struct platform device 下面是platform object的結構體 struct platform object 讓我們再看看記憶體的分配函式,如下 struct platfo...