重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
首先我们先解决两个羡陆缺问题,第一,fun()函数和main()函数中M值的问题,因为虽然两个参数的参数名相同但是它们的存储位置不同,所以在fun()函数中改变M值主函数中M的值不会改变(如果想改兄辩变它的值可以考虑用指针,具体的你自己看书吧)
创新互联建站专注为客户提供全方位的互联网综合服务,包含不限于成都网站建设、成都网站设计、蕉城网络推广、微信平台小程序开发、蕉城网络营销、蕉城企业策划、蕉城品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联建站为所有大学生创业者提供蕉城建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com
第二,函数调用问题,fun(M/2)这种条用方式是很危险的,它在fun()函数中执行时的表达式是这样的 M/2=M/2=2?5:0, 所以我建议你以后在你悉缓没有十足的把握的情况下不要使用。
第一步,主函数中M值没有变化 M1=5
第二步,主函数中M值变为2,fun函数中要仔细推一下才能知道,但是不影响主函数中M值,M2=2,有兴趣你可以去算算.
第三步,M的值无变化,所以为M3=2
fun是函橡搜数名,
给的题有错误,return写错,分号又少了
float
fun(int
x,
int
y)
{return
(x+y);}
void
main()
{int
a=2,
b=5,
c=8;
printf("%3.0f\n",fun((int)fun(a+c,b),a-c));
}
float是函数返回值类型,fun函数意思是把两个整数相加转换成float类型返回
fun(a+c,b)=15.000000
(int)fun(a+c,b)=15
fun((int)fun(a+c,b),a-c)即
fun(15,-6)=9.000000
%3.0f是显示格式
3表示整数部分保留3位,超过3位按实际位数显示,少于3位补空格
0表示显示的小数部分,0即表示不显示小数
所以答案是
9
9前面梁坦历有两个空格
如果%3.2的话就信颤是
9.00
够详细了吧^_^
#include stdio.h
int fun(int a[],int n)
{int i,j,t,s=0;
for(i=0;in;i++)
派慎配 if(a[i]/10%10==8)s+=a[i];
for(i=0;in-1;i++)
for(j=0;jn-1-i;j++) 孝团
尘指 if(a[j]a[j+1])
{t=a[j];a[j]=a[j+1];a[j+1]=t;}
return s;
}
main(int argc,char **argv)
{
int a[4]={81,90,85,13},i;
printf("(166)=%d\n",fun(a,4));
for(i=0;i4;i++)
printf("%d ",a[i]);
}