我試圖連接2個字符串而不使用strcat
,但我得到一個運行時錯誤。請別人幫我在這裏...分割錯誤出來了嗎?
還有,就是這種說法q=q+len;
正確嗎?我們可以添加一個變量到指針嗎?
#include<stdio.h>
#include<string.h>
void xstrcat(char*,char*);
int main()
{
char source[]="folks";
char target[30]="hello";
xstrcat(target,source);
printf("%s",source);
printf("%s",target);
return 0;
}
void xstrcat(char*p,char*q)
{
int len=0;
len=strlen(q);
q=q+len;
while(*p!='\0')
{
*q=*p;
q++;
p++;
}
*q='\0';
}
你應該將'source'追加到'target',但似乎你正在做另一種方式。 – nhahtdh 2012-07-09 06:00:55
調試怎麼樣?你有沒有嘗試調試你的代碼?你的代碼包含一個明顯的錯誤,這個錯誤會被調試會話立即顯示出來。這不應該是「爲我調試我的代碼」的地方。 – AnT 2012-07-09 06:05:36
另外,如果你不確定'q = q + len'表達式的有效性,你怎麼在我們的代碼中使用它。這個代碼實際上是你的嗎? – AnT 2012-07-09 06:08:33