首页 > 解决方案 > 如何使用函数在C中定义字符串

问题描述

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

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

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

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

    return(0);
}

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

标签: cstringfunctiondeclaration

解决方案


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

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

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

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

    return(0);
}

如果你使用 strcpy,它可以工作。


推荐阅读