我用 C 编写了一些带有两个函数的代码。
一个函数查找一个单词(字符组),然后将其保存到一个字符串中。另一个函数显示字符串内部的内容。我找不到将返回值保存到字符串的正确方法。
这是我的代码:
#include <stdio.h>
char SchrijfString(void);
void LeesString(char);
int main(void)
{
char x[60];
x = SchrijfString(x);
LeesString(x);
return 0;
}
char SchrijfString(char x[])
{
printf("geef een string in: \n");
gets(x);
return x;
}
void LeesString(char x[])
{
printf("In de string zit:\n %s", x);
getchar();
}
最佳答案
gets
函数已使用用户指定的字符串填充 x
,因此无需从 SchrijfString
返回任何内容或进行赋值任何 x
回到 main.您的函数原型(prototype)与定义不匹配。它们必须相同。
此外,gets
已被弃用,因为它不安全。请改用 fgets
。
void SchrijfString(char x[], int len);
void LeesString(char x[]);
int main(void)
{
char x[60];
SchrijfString(x, sizeof(x));
LeesString(x);
return 0;
}
void SchrijfString(char x[], int len)
{
printf("geef een string in: \n");
fgets(x, len, stdin);
}
关于c - C语言中函数的返回值是字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46937084/