c语言中返回值为一个数组 主函数如何定义?

mich_mia 2010-11-30 11:21:24
#include<stdio.h>
#include<string.h>
char fun(char s[50]);
main()
{
char str[50];

printf("请输入一个字符串:\n");
gets(str);
fun(str); printf("删除之后的字符串是:\n");
puts(str);
}
char fun(char s[50])
{
char m[50];
int i=1,j=0;
do{
if(s[i]%2==0)
m[j]=s[i];
i+=2;
j++;
}while(s[i]!='\0');

}
该怎么写return 和 函数调用,主要是想输出经过函数部分处理之后得到的数组部分,
求方法
...全文
1096 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
screwzm 2010-11-30
  • 打赏
  • 举报
回复
你这种可以不设返回值,用void就行了,函数体内对外面作用域的字符串进行处理就行了!
Athenacle_ 2010-11-30
  • 打赏
  • 举报
回复
用指针。强大而给力。
liutengfeigo 2010-11-30
  • 打赏
  • 举报
回复
传进字符指针,返回字符指针
tiannuosoft 2010-11-30
  • 打赏
  • 举报
回复
直接将数组定义在主函数中,通过调用函数传递进去就可以
#include<stdio.h>
#include<string.h>
char fun(char s[50]);
main()
{
char str[50];
char Des[50];

printf("请输入一个字符串:\n");
gets(str);
fun(str, Des); printf("删除之后的字符串是:\n");
puts(str);
}
char fun(char s[50], char m[])
{
int i=1,j=0;
do{
if(s[i]%2==0)
m[j]=s[i];
i+=2;
j++;
}while(s[i]!='\0');

}
xspace_time 2010-11-30
  • 打赏
  • 举报
回复
返回数组地址
yuppy 2010-11-30
  • 打赏
  • 举报
回复
要么你返回字符指针
要么在你调用的时候使用 指向数组地址的指针,可以间接修改

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧