重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
首先我們先解決兩個羨陸缺問題,第一,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]);
}