2015-01-15 51 views
-2
char* mystrcpy(char* dest, const char* src) 
{ 
    int i; 

    for (i = 0; i < mystrlen2(src); i++) dest[i] = src[i]; 
    dest[i] = '\0'; 
    return dest; 
} 
+4

我不能回答這個問題,因爲我不知道你爲什麼認爲你*不會在這個函數中使用指針。你能否告訴我們你期望做什麼,並且談一談爲什麼它讓你感到驚訝,指針在這裏涉及? – zwol

+0

你問爲什麼返回類型是'char *'或爲什麼語法是'char * mystrcpy'? –

回答

4

字符串在C中以字符數組的形式實現,並通過指向數組中第一個元素的指針訪問。這個函數中的char *是這樣的指針。

+2

一個正確的答案,避免了對指針,數組和字符串的無數誤解。 –

+0

感謝您的回答。現在我懂了。 –

+0

@TomekM請「接受」凱瑟琳的答案,如果它幫助你。 –

1

函數經常編寫,以便傳遞到函數的參數中返回作爲它的值,爲方便起見,爲使更流暢調用代碼,例如

printf("%s", mystrcpy(target, source)); 

返回目的地參數的函數的另一個例子是

char *strcat(char *strDestination, const char *strSource); 
相關問題