[問題] 回傳字串的問題
我寫了一個程式是用來將整數轉為字串的
char *int_tran_1(int num)
{
char ch[8];
int i;
ch[7]='\0';
for(i=6;num!=0;i--)
{
ch[i]=num%10+48;
num/=10;
}
printf("%s\n",ch+i+1);
return ch+i+1;
}
寫完才發現回傳位址的空間已經釋放了....
所以我將程式改為
void int_tran_2(int num,char **temp)
{
char ch[8];
int i;
ch[7]='\0';
for(i=6;num!=0;i--)
{
ch[i]=num%10+48;
num/=10;
}
printf("%s\n",ch+i+1);
strcpy(*temp,ch+i+1);
}
如果我要用return的方式(這樣比較方便使用)
不要在中間加一個temp
請問有什麼方法嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.173.196.105
→
01/30 09:09, , 1F
01/30 09:09, 1F
→
01/30 09:10, , 2F
01/30 09:10, 2F
→
01/30 09:11, , 3F
01/30 09:11, 3F
→
01/30 09:12, , 4F
01/30 09:12, 4F
推
01/30 09:46, , 5F
01/30 09:46, 5F
推
01/30 15:13, , 6F
01/30 15:13, 6F
→
01/30 15:14, , 7F
01/30 15:14, 7F
討論串 (同標題文章)