c语言编写函数无参函数的返回值的困惑

我知道无参函数就是不含有返回值的,可是比如我做一个把字符串倒过来输出的函数,还要求在原函数中输入输出字符串,那么我该怎么返回,或是用无参呢,比如voidreverse(c... 我知道无参函数就是不含有返回值的,可是比如我做一个把字符串倒过来输出的函数,还要求在原函数中输入输出字符串,那么我该怎么返回,或是用无参呢,比如
void reverse(char c[])
{ int i=0,j;
j=strlen(c);
while(i<j)
{c[i]=c[j-i];i++}
},然后在主函数中
void reverse(char c[]) printf("%s",reverse c[10]),这样是不是就表示我编的reverse有了返回值,不知道在编写的函数中,每一个得出的c[i]会不会没有内存,发生c[2]把c[1]冲掉,正确的该怎么做呢,
十分感谢您的回答,将是对我的困惑的莫大帮助
展开
 我来答
qmg1023
2013-11-29 · TA获得超过888个赞
知道小有建树答主
回答量:804
采纳率:0%
帮助的人:905万
展开全部
函数返回值void表示没有返回值,即外部不会使用函数的返回值

reverse字符串,你写的方式是直接在给定的字符数组内处理,由于传入的是指针,因此这块地址内容是可以改变的,相当于这个参数做了函数的输入输出
追问
那我是不是要把这个函数换成一个有参的,我需要在主函数中返回一个字符串,那么我主函数中这样写
char reverse(char c[]),printf("%s",reverse c[10])对不对
太谢谢你了
追答
主函数中:

reverse(c);
printf("%s",c);

调用的时候字符数组只需要给名字就可以
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sunnyhouyq
2013-11-29 · TA获得超过648个赞
知道小有建树答主
回答量:515
采纳率:100%
帮助的人:520万
展开全部
while(i<j)
{c[i]=c[j-i];i++}
c[j-i]没变化,前半段换成了后半段,但是后半段没变化.
printf("%s",reverse( c[10]) )

void型的函数不能这样用。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式