最近面試到一些基本的問題這裏做個基本的測試,還真發現了小問題
面試問題是:不適用庫函數實現strcpy(char* dst,char* src);
char * str = "abdda1234123";
char * str2;
int i = 0;
i = strlen(str);
str2 = new char[i + 1];
char *tmp = str2;
//strcpy(str2, str);
while (*tmp++ = *str++)
;
tmp[i + 1] = '\0';
printf("str2's result:%s", str2);
return 0;
我假設一開始的str2是一個空指針,所以需要先申請,然後發現如果我在while循環中直接用str2,賦值將會失敗。。原因如果有哪位博友告知,感激不盡.....
如果賦值給一個臨時指針tmp,執行正確;