fun的功能:将s所指字符串中下标为偶数同时ASCII值为奇数的字符删除,然后放入t数组中
这是我做的为什么不对啊,没有错误,就是运行不出结果,哪里错了吗,我觉得很对啊voidfun(char*s,chart[]){inti,j=0;while(*s)for(i...
这是我做的为什么不对啊,没有错误,就是运行不出结果,哪里错了吗,我觉得很对啊
void fun(char *s, char t[])
{int i,j=0;
while(*s)
for(i=1;i<strlen(s);i=i+2)
if(s[i]%2==0)t[j++]=s[i];
t[j]=0;
}
下面是正确答案,那个if里面的什么意思,高人指点
{
int i, j = 0 ;
for(i = 0 ; i < strlen(s) ; i++)
if(!((i % 2) ==0 && (s[i] % 2))) t[j++] = s[i] ;
t[j] = 0 ;
} 展开
void fun(char *s, char t[])
{int i,j=0;
while(*s)
for(i=1;i<strlen(s);i=i+2)
if(s[i]%2==0)t[j++]=s[i];
t[j]=0;
}
下面是正确答案,那个if里面的什么意思,高人指点
{
int i, j = 0 ;
for(i = 0 ; i < strlen(s) ; i++)
if(!((i % 2) ==0 && (s[i] % 2))) t[j++] = s[i] ;
t[j] = 0 ;
} 展开
2个回答
展开全部
void fun(char *s, char t[])
{int i,j=0;
//while(*s) 加这个干啥啊,加了一直是死循环,那里有结果出来
for(i=1;i<strlen(s);i=i+2)
if(s[i]%2)t[j++]=s[i]; //s[i]%2==0 表示要选择ASCII 位偶数
t[j]=0;
}
{int i,j=0;
//while(*s) 加这个干啥啊,加了一直是死循环,那里有结果出来
for(i=1;i<strlen(s);i=i+2)
if(s[i]%2)t[j++]=s[i]; //s[i]%2==0 表示要选择ASCII 位偶数
t[j]=0;
}
追问
ENEN,谢谢啦,我觉得加了while(*s),不就保证了运算到/0推出循环吗,怎么会死循环呢
追答
你还是用指针,S是首地址,你要有一个指针p=s 让p++遍历整个S数组,就不会发生你开始的情况了
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询