为什么我的这个代码出不了结果?
如图,功能是想求数组里的奇数和跟偶数和,但是什么结果也没有。循环也没有扣死吧?请教大神是哪个地方出了问题!!!谢谢...
如图,功能是想求数组里的奇数和跟偶数和,但是什么结果也没有。循环也没有扣死吧?请教大神是哪个地方出了问题!!!谢谢
展开
2个回答
展开全部
sum那个循环写错了,a只是一个指针,你不能用a<a+n去判断,可以改成下面的,另外那个奇偶判断反了,余数为0就是偶数even了,不是odd
void sum(int *a,int n,int *odd,int *even)
{
int i=0;
for(i=0;i<n;i++)
{
if(*a%2) *odd+=*a;
else *even+=*a;
a++;
}
}
当然直接用那个n也行
for(;n>0;n--)
{
if(*a%2) *odd+=*a;
else *even+=*a;
a++;
}
另外最后那个p也是多余的,数组名本身就是指向首地址的指针,可以直接用sum(a,10,&odd,&even);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询