我想用调用函数返回一个数组,返回值那里应该怎么写?

longfunc(char*s)/*sÊÇÒ»¸öÊý×Ö×Ö·... long func(char *s)
/* sÊÇÒ»¸öÊý×Ö×Ö·û´®µÄµØÖ·£¬
º¯Êý·µ»ØֵΪÓÉsº¬ÓеÄÊý×Ö×Ö·ûת»»µÃµ½µÄÊý£¨°üº¬Õý¸ºÊýÇé¿ö£©
*/
{ int i,j,word=0;
for (i=0;s[i]!='\0';i++)
if (s[i]=='-')
{
word=1;
break;
}
else if (s[i]>=48&&s[i]<=57)
{
word=0;
break;
}
if (word)
{
s[0]='-';
for (i=1,j=1;s[i]!='\0';i++)
{
if (s[i]>=48&&s[i]<=57)
{
s[j]=s[i];
j++;

}
else
s[i]='\0';
}
}
else
{
for (i=0,j=0;s[i]!='\0';i++)
{
if (s[i]>=48&&s[i]<=57)
{
s[j]=s[i];
j++;
s[i]='\0';
}
else
s[i]='\0';
}
}

s[j]='\0';

return *s;
}
这样写的话,返回值会是那个数组吗?
我调试的时候不是,应该怎么写呢?
谢谢
这是题目的图片,其中s为一个数组名
展开
 我来答
百度网友906779cfc
2012-04-25 · TA获得超过522个赞
知道小有建树答主
回答量:363
采纳率:0%
帮助的人:436万
展开全部
返回数组是一个很不好的习惯,因为你无法真正的返回一个数组,而是返回一个指向数组首地址的指针。如果你真的需要一个数组应该这么做,
int func(int * array, int max);第1个参数是数组的首地址,比如你有int a[20], 那么就传a,不过必须先初始化,max表示你传入的数组的长度,即函数中对数组的操作不能超过max,否则越界,返回值是实际有效的数组元素个数。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式