透過strcpy 看問題

2021-06-22 17:53:45 字數 1633 閱讀 2684

小明最近寫程式發現經常會出現一些莫名其妙的錯誤,

就過來問大明,說程式總是出現問題的,而且莫名其妙的就掛在了strcpy這裡了,

鬱悶了挺久的了,於是剛畢業不久的小明還是不太好意思的來問了大明,

大明看了小明的**,發現了一些問題,這些問題是平時寫程式不太注意時經常發生的哦,

現在就展開來讓大家一起看看

[cpp]view plain

copy

#include 

/** 注意所犯錯誤1

*/void

error1()  

/**注意所犯錯誤2

*/void

error2()  

strcpy(str0, str1);  

}  /*

*注意所犯錯誤3

*/void

error3(

char

*str1)  

void

main()    

下面是對以上所犯錯誤做修正:

[cpp]view plain

copy

/** 注意所犯錯誤1修正

*/void

right1()  

;  char

*str1 = 

"0123456789"

;   

strcpy(str0, str1);  

}  /*

*注意所犯錯誤2修正

*/void

right2()  

;  char

str1[11] = ;  

inti = 0;  

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

strcpy(str0, str1);  

}  /*

*注意所犯錯誤3修正

*/void

right3(

char

*str1)  

;  int

len = strlen(str1);  

if(len 

strcpy(str0, str1);  

}  void

main()    

請寫出strcpy()原型設計**:

比較常見的犯錯應該像下面**了,

[cpp]view plain

copy

/*請寫出strcpy()函式原型*/

/**注意1

*/void

strcpy(

char

*dest, 

char

*source)  

/** 注意2 加上const,防止引數被改變

*/void

strcpy(

char

*dest, 

const

char

*source)  

/** 好的strcpy應該如下

*/void

strcpy(

char

*dest, 

const

char

*source)    

hadoop scheduler檢視問題

在對比了hadoop fair scheuler和capacity scheduler之後,決定使用fair scheduler。因為目前系統沒有多個團隊之間的資源競爭,更多的是多個任務之間的資源搶占情況,所以選用fair scheduler效率更高。配置完之後發現無法檢視scheduler 原有的...

換個心情看問題

終於換了新工作,做累了運維,總是也提不起精神,想做的沒時間做,做的不喜歡。生平第一次有了想做什麼不想做什麼的想法,於是很驚訝,於是很高興,於是下定決心拼一下,因為留給我的時間真的沒有那麼多了。從找工作到最終定用了不到乙個月的時間,從提出辭職到辦清手續花了乙個星期的時間,效率真的很高,於是相信如果你真...

從記憶體角度看問題

本人程式設計時間雖然不長。但現在覺得一些問題不能光從語法角度理解,能從在記憶體中是如何的角度考慮,似乎問題想得更清楚,更容易理解。畢竟我們讓乙個應用程式執行,就是啟動乙個程序,作業系統賦予它位址空間,將相應的 和資料載入到位址空間。再載入dll,啟動新執行緒,也都是在分配記憶體 物理空間 載入 或維...