[問題] array pointer的問題
大家好 朋友問了一個題目 說哪裡有錯
char * saveString(const char * s)
{
// allocate memory for a copy of the input string s
char *p = (char*) malloc(strlen(s));
while (*s)
{
*p++ = *s++;
}
*p = '\0'; // null-terminate saved copy
return p;
}
小弟研究半天 後來終於找到解答 多一個char *temp 去讓p指過去 最後return temp,
但我不曉得為什麼原本的寫法有問題
以下是可以compiler和回傳回來是正確的code
請大大開示 謝謝!!
char * saveString(char * s)
{
// allocate memory for a copy of the input string s
char *p = (char*) malloc(strlen(s));
char *temp;
temp = p;
while (*s)
{
printf("*s=%c\n", *s);
*p++ = *s++;
}
*p = '\0'; // null-terminate saved copy
return temp;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.161.253.187
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1532858095.A.F7D.html
→
07/29 18:03,
7年前
, 1F
07/29 18:03, 1F
→
07/29 18:21,
7年前
, 2F
07/29 18:21, 2F
推
07/29 18:30,
7年前
, 3F
07/29 18:30, 3F
→
07/29 18:44,
7年前
, 4F
07/29 18:44, 4F
推
07/29 19:02,
7年前
, 5F
07/29 19:02, 5F
推
07/29 20:05,
7年前
, 6F
07/29 20:05, 6F
→
07/29 21:42,
7年前
, 7F
07/29 21:42, 7F
→
07/29 21:42,
7年前
, 8F
07/29 21:42, 8F
推
07/29 21:44,
7年前
, 9F
07/29 21:44, 9F
→
07/29 21:44,
7年前
, 10F
07/29 21:44, 10F
→
07/29 21:47,
7年前
, 11F
07/29 21:47, 11F
推
07/30 01:51,
7年前
, 12F
07/30 01:51, 12F
推
07/30 03:13,
7年前
, 13F
07/30 03:13, 13F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章