strcpy(s, t) 将字符串t复制给字符串s

版权声明:原创请勿随意转载。 https://blog.csdn.net/yjysunshine/article/details/81710210

《C程序设计语言》P104

#include <stdio.h>
/*strcpy(s, t) 将t指的字符串复制到s指的位置, 数组下标版*/
void strcpy(char*, char*);

int main()
{
    char s[] = "yjy";
    char t[] = "girl";
    strcpy(s, t);
    printf("%s\n", s);
    return 0;
}
void strcpy(char *s, char *t)
{
    int i, j;
    for(i = 0, j = 0; (s[i] = t[j]) != '\0'; i++, j++)
        ;
  //  s[i] = '\0';  //此时这句赋值不需要,因为在上面的循环中,是赋值之后和‘\0’比较的;但若不是这样的方法,则需要另考虑。
}

#include <stdio.h>
/*strcpy(s, t) 将t指的字符串复制到s指的位置, 指针版*/
void strcpy(char*, char*);

int main()
{
    char s[] = "yjy";
    char t[] = "girl";
    strcpy(s, t);
    printf("%s\n", s);
    return 0;
}
void strcpy(char *s, char *t)
{
    while(*s++ = *t++)      //这个循环里不需要和‘\0’作比较,因为循环条件必为整数。
        ;
 //   *s = '\0';   由于已经在循环条件里作了此赋值,则不需要再次赋值。
}
 

猜你喜欢

转载自blog.csdn.net/yjysunshine/article/details/81710210