答案是22
成都创新互联公司专注于企业营销型网站、网站重做改版、五华网站定制设计、自适应品牌网站建设、H5开发、成都做商城网站、集团公司官网建设、外贸营销网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为五华等各大城市提供网站开发制作服务。
调用函数fun时,先计算fun(--x,--y); 再计算fun(x++,y++)
前缀 -- (或++):是先减(加)1后再将其结果代入运算
后缀 ++ (或--):是先代入数据后在对其进行加(减)1运算
故而
第一步:计算fun(--x,--y)时实际上代入的值为 fun(5,6) == 11; 即先将x和y减1后再代入
此时 x == 5, y == 6
第二步:计算fun(x++,y++)时,代入的值为fun(5,6) == 11; 即先将x和y代入运算然后再加1
此次调用后x == 6,y==7
第三步:计算fun(fun(x++,y++),fun(--x,--y)) ,此时实际上代入的值为 fun(11,11) == 22;
因此函数运行后 z 的值为 22; x 的值为6,y 的值为7
另外就是楼主最后一条打印语句出错了,应该是笔误吧:改为 printf("%d\n",z);
#includestdio.h
#includemath.h
int fun(int a)
{int sum=1;br/ int i;br/for(i=1;i=a;i++)br/ {sum*=i;}
return sum;
}
void main()
{
float e=0,q;
int m,n;
scanf("%d",n);
for(m=1;m=n;m++)
{
q=fun(m);
e+=1/q;
}
printf("%10.3f",e);
}
p是一个整形变量,通过调用函数fun后,返回整形变量c这一个值,把这个值赋值给p,然后主函数就可以输出p了。
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款