【发布时间】:2017-12-11 01:24:46
【问题描述】:
我是学习 c 语言的新手,我正在尝试学习带有 char 数组的函数。在这段代码中,我想编写一个使用 char 数组作为参数并给出另一个 char 数组作为结果的函数。当我运行代码时,输出应该是:Helloooo world!
但是,当我运行代码时,程序崩溃了。我该如何解决这个问题?我是否使用了正确类型的变量?
#include <stdio.h>
#include <string.h>
char *write();
int main()
{
char x[10] = "ooo";
printf("%s, world!\n", *write(x));
return 0;
}
char *write(char x[10])
{
char str[10];
strcpy(str, "Hello");
strcat(str,x);
x = str;
return x;
}
【问题讨论】:
-
1)
x = str;-->strcpy(x, str);2)*write(x)-->write(x) -
你不需要返回数组——直接传入,让
write修改它,然后直接在printf中使用x而不是write(x) -
我们不是辅导网站。请阅读How to Ask 并说明您认为任何初学者的 C 教科书都没有解决的具体问题。
-
@BLUEPIXY 成功了。非常感谢。
-
@jackarms 成功了。非常感谢。