如何使用函数在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,它会起作用。
#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,它会起作用。