char stringConcatenate (char y[], char z[])
{
unsigned short int a = 0, len;
len = stringLength(y);
while (z[a] != '\0')
{
y[len + a] = z[a];
a++;
}
printf("%s\n", y);
return y;
}
return y;
未将存储在其中的值返回给函数调用。
答案 0 :(得分:1)
我强烈建议您先阅读有关指针和数组的基础知识。查看this article。
像char y[]
这样的数组被组织为一组连续的char
元素,一个名为y
的指针指向数组的第一个元素。由于此指针指向char
类型,因此指针本身的类型为char *
。
因此,当您说return y
时,您没有返回数组y
的内容 - 您将返回y
的值,这是第一个元素的地址y
数组。
因此,函数的返回类型应为char *
。