能帮忙解释一个简单的c语言程序吗?

fun2(inta,intb){intc;c=a*b%3;returnc;}fun1(inta,intb){intc;a+=a;b+=b;c=fun2(a,b);retu... fun2(int a,int b)
{int c;c=a*b%3;return c;
}
fun1(int a,int b)
{int c;a+=a;b+=b;
c=fun2(a,b);return c*c;
}
main()
{int x=11,y=19;
printf("%d\n",fun1(x,y));
}
展开
 我来答
德克and德华

2013-03-25 · TA获得超过2650个赞
知道小有建树答主
回答量:1207
采纳率:100%
帮助的人:619万
展开全部
main调用fun1,这时fun1中的a为11,、b为19,经过a+=a;b+=b;后,a为22、b为38,然后fun1调用fun2,fun2中的a为22、b为38,经过c=a*b%3;后,c为2(836除以3得到的余数),fun2执行完毕,把2返回给fun1,2被赋给fun1的c,fun1执行完毕,返回2*2(即4)。
最后main接收fun1的返回值并将其输出
追问
fun2求出的值为什么还要返回给fun1啊     怎么不直接返回给main?
追答
谁调用它它就返回给谁,这是语法规定。。
GIS广益DATA
2013-03-25 · TA获得超过2517个赞
知道大有可为答主
回答量:4658
采纳率:20%
帮助的人:2781万
展开全部
fun1(11,19) {a = 22 b= 38 }

c = fun2(22 39) { c = a * b %3 = 22 * 38 %3} = { c = 2 } c = 2

fun1 = c * c = 4

最后得4
追问
fun2求出的值为什么还要返回给fun1啊     怎么不直接返回给main?
追答
谁调用它它就返回给谁
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
duduyaodg
2013-03-25 · TA获得超过504个赞
知道小有建树答主
回答量:248
采纳率:100%
帮助的人:172万
展开全部
fun2(int a,int b)//对a、b的乘积对3求余,将结果赋给c,并返回c的值
{int c;c=a*b%3;return c;
}
fun1(int a,int b)
{int c;a+=a;b+=b;//a、b各自增一倍
c=fun2(a,b);return c*c;//调用fun2函数,将a、b对3求余的结果返回给c,函数返回c的平方
}
main()
{int x=11,y=19;
printf("%d\n",fun1(x,y));
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
asadfaf6
2013-03-25
知道答主
回答量:3
采纳率:0%
帮助的人:4454
展开全部
对想,x,y分别自加一次即x=x+x,y=y+y,然后得到的结果相乘(x*y)再对三取余,取余直到什么意思吧,就是除3余的个数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
伤我中国心
2013-03-25 · TA获得超过112个赞
知道答主
回答量:233
采纳率:0%
帮助的人:145万
展开全部
啥地方不懂啊,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式