⑴ C語言 帶參數函數的引用調用
#include <stdio.h>
void fun(int * a,int k);
void main()
{
int a[10];
printf("請輸入10個整數:\n");
for(int i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
fun(a,sizeof(a)/sizeof(a[0]));
}
void fun(int a[],int k)//這就是你想要的函數
{
int g0=0,t0=0,e0=0;/敗碼*g0就是>0,t0就是小於0,e0就等0*/
for(int i=0;i<k;i++)
{
if(a[i]>0) g0++;
if(a[i]==0) e0++;
if(a[i]<0) t0++;
}
printf("大於0的個數為:%d\n",g0);
printf("小於0的個數為:%d\n"察碧哪,t0);
printf("等於0的個數為:%d\n",e0);
}
/*
說明就和ichenq的差不多,只是ichenq的那個有問題,比如他的if語句里多了幾個";"號,導致無沒通過,另外我用他的函數來測試得不慧核到想要的結果
sizeof(a)/sizeof(a[0])就是數組a的長度*/
⑵ C語言如何調用函數
C語言中,函數調用的一般形式為:
函數名(實際參數表)
對無參函數調用時則無實際參數表。實際參數表中的參數可以是常數、變數或其它構造類型數據及表達式。各實參之間用逗號分隔。
#include<stdio.h>
intfun(intx,inty);//函數聲明,如果函數寫在被調用處之前,可以不用聲明
voidmain()
{
inta=1,b=2,c;
c=fun(a,b);//函數的調用,調用自定義函數fun,其中a,b為實際參數,傳遞給被調用函數的輸入值
}
//自定義函數fun
intfun(intx,inty)//函數首部
{//{}中的語言為函數體
returnx>y?x:y;//返回x和y中較大的一個數
}
C語言中不允許作嵌套的函數定義。因此各函數之間是平行的,不存在上一級函數和下一級函數的問題。但是C語言允許在一個函數的定義中出現對另一個函數的調用。
這樣就出現了函數的嵌套調用。即在被調函數中又調用其它函數。這與其它語言的子程序嵌套的情形是類似的。其關系可表示如圖。
圖表示了兩層嵌套的情形。其執行過程是:執行main函數中調用a函數的語句時,即轉去執行a函數,在a函數中調用b 函數時,又轉去執行b函數,b函數執行完畢返回a函數的斷點繼續執行,a函數執行完畢返回main函數的斷點繼續執行。
⑶ c語言如何實現函數的調用
函數名加(實參),這樣吧...舉個例子你看一下...
int add(int x,int y)
{
int x,y;
int z;
z=x+y;
return z;
}//定義一個z=x+y的函數
int main()//主函數
{
int a=10,b=20;
int m;
m=add(a,b);//這句就是函數的調用...調用了add函數
printf("%d",m);
return m;
}
理解了沒...還沒的話...仔細看下教材...這個問題很容易解決的...