開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
X-code 6.1.1
我是一個C 語言的自學新手,正在自修"C語言程式設計 -蔡文能" 這本書。
做到Exercise 5-3 的時候,遇到一點問題想請問一下大家
"請使用指標的觀念寫一個strcat(s, t)的函數,將字串t抄到字串s的尾端"
以下是我寫的程式碼, 基本上跟解答幾乎一模一樣,
但怎麼跑原始的那個字串(ori) 都不會改變,請問是出了什麼問題?
我在十三誡那邊看到一個 "不能用char* 改變字串常數"
是因為出在這個問題嗎?
====================================================================
#include <stdio.h>
void strcat_user (char *, char *);
int main(int argc, const char * argv[]) {
char ori[30] = "hello, ";
char add[] = "world.";
strcat_user(ori, add);
//strcat_user(&ori[0], &add[0]);
printf("%s\n", ori);
return 0;
}
void strcat_user (char *ori, char *add){
while (*ori++)
;
while ((*ori++ = *add++))
;
}
==========================================================
如果是的話, 請問要怎麼改?
因為我也試過把function 改成
void strcat_user (char *ori, char *add)
然後用標註的方式去把新字串加進去
int i =0;
while ( ori[i] != '\0')
i++;
while ((ori[i] = *add++))
;
但還是fail
麻煩大家了
感謝