因为不明白你这段程序要做什么东西,大概看下,首先
语法错了很多,重点说下把,首先调用的时候,return只能返回一个数值,然不能返回一个数组,然后在MAIN()中C是不允许出现C()=A()这种东西的,如果你要输入的话必须用循环一个个输入。
#include
#include
char *char_array()
{
char *t, ch;
int j;
char *ret = (char *) malloc(sizeof(char) * 1000);
for (t = ret, j = 0; j < 999; j++, t++)
{
ch = getch();
if (ch == 0x0d) break; /* 回车符时返回 */
*t = ch;
}
*t = '\0';
return ret;
}
int main()
{
char *c;
int i, cd;
c = char_array();
cd = strlen(c);
for (i = 0; i < cd; i++)
{
printf("%c", c[i]);
}
/* 其实可以直接 printf("%s", c); */
return 0;
}
你可以把数组直接当作全局变量来定义
或者正规的作法是返回指向数组首地址的指针变量
要不就定义一个全局变量,要不就都写到主函数中去了,你这个
函数本来功能就没有多少,就只管个输入,没必要非要写个函数.
请先把程序当中的语法错误改了以后再传上来