如何使用函数在C中定义一个字符串

How to use function to define a string in C

#include <stdio.h>
#include <string.h>

void Define_string(char *str)
{
    str = "hello";
    return;
}

int main()
{
    char my_string[100] = {'[=10=]'}

    Define_string(my_string);
    printf("%s", my_string);

    return(0);
}

我正在尝试使用一个函数来定义一个字符串,但我总是收到 null 或指针转换错误。您将如何使用函数来定义在 main 中声明的字符串?我不是要输入字符串值,而只是用硬代码定义它。 尝试使用 returns 不同字符串的嵌套 if-else。

如果你只是定义字符串硬编码。使用宏

#define Define_string(var,val) const char *var=val

Define_string(my_string,"hello");

#include <stdio.h>
#include <string.h>

void Define_string(char *str)
{
    strcpy(str, "hello");
    return;
}

int main()
{
    char my_string[100] = {'[=10=]'};

    Define_string(my_string);
    printf("%s", my_string);

    return(0);
}

如果你使用 strcpy,它会起作用。