|
Post by huangno1 on Mar 2, 2017 20:34:27 GMT -8
程式說明
請撰寫 mystrcpy() 以複製 C-字串(以 '\0' 字元結尾) 。例如 mystrcpy(str, "abcd") 會在 str 陣列中放入 'a', 'b', 'c', 'd', 和 '\0'。
此外,該函式會回傳目標陣列的起始位址,例如 mystrcpy(str, "abcd") 會回傳 str 的起始位址。
以下程式會反覆讀入字串,直到輸入空字串(直接按下 Enter)為止。
【注意】此程式中不可呼叫標準函式 strcpy()。
#include <stdio.h>
#include <string.h>
char* mystrcpy ( char copy [ ] , char str [ ] )
{
int i = 0 ;
while ( str [ i ] != '\0' )
{
copy [ i ] = str [ i ] ;
i ++ ;
}
copy [ i ] = '\0' ;
return copy ;
}
int mystrlen ( char name [ ] )
{
int i = 0 ;
while ( name [ i ] != '\0' )
i ++ ;
return i ;
}
int main()
{
char str[100];
do
{
gets(str);
char copy[100];
printf("%s\n", mystrcpy(copy, str));
}
while (
mystrlen ( str ) != 0
);
return 0;
}
|
|