C语言中 a=11,b=19 c=a*b%3的值怎么计算?
fun1(inta,intb){intc;a+=a;b+=b;c=fun2(a,b);returnc*c;}fun2(inta,intb){intc;c=a*b%3;re...
fun1(int a,int b)
{int c;
a+=a;b+=b;
c=fun2(a,b);
return c*c;
}
fun2(int a,int b)
{int c;
c=a*b%3;
return c;
}
main ()
{Int x=11,y=19;
printf("%d/n",fun(x,y));
}这个程序中c=a*b%3怎么计算的,值为什么是2,求具体步骤算法,我在这句上出现困惑。 展开
{int c;
a+=a;b+=b;
c=fun2(a,b);
return c*c;
}
fun2(int a,int b)
{int c;
c=a*b%3;
return c;
}
main ()
{Int x=11,y=19;
printf("%d/n",fun(x,y));
}这个程序中c=a*b%3怎么计算的,值为什么是2,求具体步骤算法,我在这句上出现困惑。 展开
4个回答
展开全部
分析一下,这句话有三个运算符,其中* , % 是一个运算级的,=是一个运算级的,前者优先级比后者高。*、%是从左往右算,所以先算*,再算%,最后将结果赋给c 。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一步先调用fun1,执行a=22, b=38(因为a+=a意思就是a*a)
第二步,fun1中调用fun2,在fun2中,由于*的运算符的优先级高于%,所以先执行22*38=836 836%3=2,所以c=2,
最后fun1()这个函数返回的是c乘c,因此答案为4
第二步,fun1中调用fun2,在fun2中,由于*的运算符的优先级高于%,所以先执行22*38=836 836%3=2,所以c=2,
最后fun1()这个函数返回的是c乘c,因此答案为4
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
return c*c即2*2=4
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询