[英]return value of function is a string in C
我用两个函数用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
返回任何SchrijfString
或将任何内容分配回main中的x
。 您的函数原型与定义不匹配。 它们必须相同。
而且,不赞成使用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);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.