24小时热门版块排行榜    

查看: 289  |  回复: 2
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

201111612122

银虫 (小有名气)

[求助] 小问题 求帮忙解答

将s所指的字符串中ASC2码值为奇数的字符删除,剩余的字符形成新串放在t所指数组中。
CODE:
#include <stdio.h>
#include <string.h>

void  fun(char  *s, char  t[])
{
int i,j=0,n;
n=strlen(s);
for(i=0;i<n;i++)
if(s[i]%2==0)
{t[j]=s[i];
  j++;
}
t[j]='\0';
}

main()
{
  char   s[100], t[100];void NONO ();
  printf("\nPlease enter string S:"); scanf("%s", s);
  fun(s, t);
  printf("\nThe result is: %s\n", t);
  NONO();
}

void NONO ()
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
  char s[100], t[100] ;
  FILE *rf, *wf ;
  int i ;

  rf = fopen("in.dat","r") ;
  wf = fopen("out.dat","w") ;
  for(i = 0 ; i < 10 ; i++) {
    fscanf(rf, "%s", s) ;
    fun(s, t) ;
    fprintf(wf, "%s\n", t) ;
  }
  fclose(rf) ;
  fclose(wf) ;
}
  

我的fun函数里如果这样写错在哪里


void  fun(char  *s, char  t[])
{
        int i,j;
        for(i=0;s!='\0';i++)
                if(s%2==0)
                        t[j++]=s;
                t[j]='\0';
                return t ;
}

[ Last edited by jjdg on 2013-9-1 at 00:50 ]
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

heyzol

金虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
把return t去掉就行了吧
小木虫:沙发+99,金币+99,恭喜抢个沙发,再给个红包
3楼2013-09-01 16:55:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 3 个回答

angiehelen

金虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
函数fun为无返回类型void,而现在返回了字符数组
心只一拳,别把它想的太大
2楼2013-09-01 10:33:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见