求助一C程序题,没看明白
求助一C程序题,没看明白#include<stdio.h>voidfunc(int*x,int*y){inti,m;for(i=0,m=0;i<*y;i++,x++){i...
求助一C程序题,没看明白#include<stdio.h>
void func(int *x,int *y)
{
int i,m;
for(i=0,m=0;i<*y;i++,x++)
{
if(*x<0)break;
if(*x%2)continue;
m++;
}
*y=m;
}
int main()
{
int i=8,a[]={2,5,0,7,1,4,8,3,2,6};
func(a,&i);
printf("%d\n",i);
return 0;
} 展开
void func(int *x,int *y)
{
int i,m;
for(i=0,m=0;i<*y;i++,x++)
{
if(*x<0)break;
if(*x%2)continue;
m++;
}
*y=m;
}
int main()
{
int i=8,a[]={2,5,0,7,1,4,8,3,2,6};
func(a,&i);
printf("%d\n",i);
return 0;
} 展开
4个回答
展开全部
调用函数的形参为两个指针变量x和y,与主函数里的实参a和&i属于地址的传递,对应主函数里a[0]的地址和i的地址,调用函数里*x、*y的改变会改变主函数里数组元素和i的值。
调用函数中for循环表示求数组a中前8个元素偶数的个数m,continue表示当a[i]为奇数时不执行m++直接跳到下一个循环,调用函数结束时*y=m=4,即主函数里的i的值也进行了改变,输出值为4.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
void func(int *x,int *y) //查找偶数
{
int i,m;
for(i=0,m=0;i<*y;i++,x++)
{
if(*x<0)
break; //如果是负数,退出
if(*x%2)
continue; //如果是奇数,不执行下面的命令
m++;
}
*y=m;
}
int main()
{
int i=8,a[]={2,5,0,7,1,4,8,3,2,6};
func(a,&i);
printf("%d\n",i); //输出显示:4
return 0;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这么简单也没人帮忙?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
求前8个数字中偶数和0的个数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询