[問題] strcpy的函數定義

看板C_and_CPP (C/C++)作者 (Oliver奧立佛)時間15年前 (2011/06/30 23:34), 編輯推噓1(1011)
留言12則, 8人參與, 最新討論串1/4 (看更多)
今天面試的時候有一題,關於strcpy的函數定義 函數原始定義 char *strcpy(char *dest, char *source); 請問為何需要傳回dest的指標?改成下面這行是否可行? void strcpy(char *dest, char *source) 試說明之... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.160.229.25 ※ 編輯: besmartAE 來自: 118.160.229.25 (06/30 23:38)

06/30 23:39, , 1F
你的想法勒?
06/30 23:39, 1F

06/30 23:48, , 2F
no return value is reserved to indicate an error.
06/30 23:48, 2F

06/30 23:52, , 3F
先提出你的想法吧
06/30 23:52, 3F

07/01 00:04, , 4F
感覺答案不是很重要,大概只是想看分析能力、邏輯
07/01 00:04, 4F

07/01 00:07, , 5F
直接pass位址在副函式改值就好啦,不傳也能達到效果~
07/01 00:07, 5F

07/01 00:08, , 6F
本人很弱的想法囧~~請指正~~
07/01 00:08, 6F

07/01 00:15, , 7F
這樣才可以寫成int len = strlen(strcpy(dest, source));
07/01 00:15, 7F

07/01 00:15, , 8F
或 strcpy(d1, strcpy(d2, strcpy(d3, source))); 這種
07/01 00:15, 8F

07/01 09:23, , 9F
謝啦~各位&James哥~~
07/01 09:23, 9F

07/01 11:00, , 10F
我有個疑問,copy失敗的話,會不會回傳null阿
07/01 11:00, 10F

07/01 11:12, , 11F
copy失敗只會segfault,你以為strcpy很聰明嗎 XD
07/01 11:12, 11F

07/01 14:27, , 12F
07/01 14:27, 12F
文章代碼(AID): #1E39Tflj (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1E39Tflj (C_and_CPP)