#include <stdio.h>
char *strcpy_(char *dst, char *src)
{
while((*src++ = *dst++)!= '\0')
return src;
}
main()
{
char src_str[] = "C programming language";
char dst_str[100];
printf("dst_str:%s\n", strcpy_(dst_str, src_str));
}
當我運行這個函數時,這個輸出是「編程語言」C不見了,這裏發生了什麼,而且我還有一個問題,我不想使用數組來傳遞該函數的參數意味着我不想使用char src_str[] = "C programming language"
或char dst_str[100]
取而代之,我想使用像char *src_str = "C programming language"
和char *dst_str
這樣的指針,如果我使用的話,我會得到一個分割錯誤。strcpy函數的執行
你似乎被複制到DEST SRC! –
你也忘了在這段時間後放一個分號或大括號。目前,回報在這段時間內正在被ru。 – hugomg
你不需要'!='\ 0''部分。當這個條件滿足時,while循環將會保留。 – squiguy