C语言。帮忙看看我编的函数错误。函数fun的功能是:将S所指字符串中除下标为偶数同时ASCII码值也为偶数

的字符外,其余全部删除;字符所形成的的新串放在t所指的数组中
void fun(char *s, char t[])
{int i,j=0;
for(i=0;s[i]!='\0';i++,i++)
if(s[i]%2==0)
t[j++]=s[i];
t[j]='\0';

}
哪里出错了,编译出来老有乱码

你的没问题,可能是你主函数里面s或者t的范围太短了
void fun(char *s,char *t)
{
int i,j=0;
for(i=0;s[i]!='\0';i+=2)
if(s[i]%2==0)
t[j++]=s[i];
t[j]='\0';
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-03-29
你只是实现了一个功能追问

可是从i=0开始,每次都i++,i++呀,这不是一直就是偶数了吗,为什么会出现乱码呢