在不使用 在C中的情况下实现strcpy()函数

问题描述 投票:-1回答:1

我的任务是这样的:我应该在以下约束下实现strcpy函数:

  1. 该函数应使用指针表达式(*(d+i)
  2. 我应该在不使用<string.h>的情况下实现它>
  3. 我正在Visual Studio 2019中编程。我在Google中搜索了一些源代码并运行了它们,但是我的程序出现了逻辑错误。该程序每次都立即结束。我不知道我在做什么错。这是我在Windows上的Visual Studio 2019中的代码。请告诉我怎么了。

#include <stdio.h>
void strcpy(char*, char*);

int main()
{
    char* sen1 = "Hello";
    char* sen2 = "Friends";

    strcpy(sen1, sen2);

    printf("The result: %s\n", sen1);

    return 0;
}

void strcpy(char* str1, char* str2)
{
    int i = 0;
    while (*(str2 + i) != '\0')
    {
        *(str1 + i) = *(str2 + i);
        i++;
    }
    *(str1 + i) = '\0';
}

我的任务是这样的:我应该在以下约束下实现strcpy函数:该函数应该使用指针表达式(*(d + i))我应该在不使用...

c strcpy
1个回答
1
投票

至少有两个问题:

  1. 字符串文字在C中不可写。
  2. 您不得将标识符strcpy用于自己的功能。使用其他名称。
© www.soinside.com 2019 - 2024. All rights reserved.