繁体   English   中英

函数的返回值是C中的字符串

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM