-
#include
void sort(int arr,int n);
void main ()
int a[10];
sort(a,10);
void sort(int arr,int n)int i,j,k;
比較 * for(i=0; iarr[j+1])
輸出 * for(i=0; i<10;i++)
printf("%6d",arr[i]);
函式宣告和定義也進行了修改,引數前面有型別描述。
-
你應該讀一些書。
自定義函式定義:
函式的定義。
函式由兩部分組成:函式頭和語句正文。
函式頭由以下三部分組成:
函式返回的值的型別。
函式的名稱。 參數列。
乙個完整的函式應該如下所示:
函式 返回值型別 函式名稱(參數列)。
句子正文; 附錄:在()之後新增乙個{}; 看看你能不能過得去。
-
您沒有宣告函式型別(警告),並且引數型別也是乙個錯誤。
void sort(int arr,int arr_n);
void main ()
int a[10];
scanf("%d%d%d%d%d%d%d%d%d%d",a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);
sort(a,10);
system("pause");
void sort(int arr,int arr_n)int i,j,k;
比較 * for(i=0; iarr[j+1])
輸出 * for(i=0; i<10;i++)
printf("%6d",arr[i]);
-
將段封裝到函式中的過程稱為函式定義。
函式可以重用以獨立執行功能,無論是否接收使用者傳遞的資料。 接收使用者資料的函式需要用引數定義,不接收使用者資料的函式不需要指定。
函式不能是巢狀的定義,main 也是函式定義,所以把 sum 放在 main 之外。 函式在使用之前必須定義,因此 sum 應放在 main 之前。
定義函式時給出的引數稱為形式引數,稱為形式引數; 呼叫函式時給出的引數(即傳遞的資料)稱為實際引數,稱為實際引數。 呼叫函式時,引數的值將傳遞給引數,這相當於賦值操作。
原則上,引數的型別和數量應與表單引數的型別和數量一致。 如果可以進行自動型別轉換,或者執行強制型別轉換,則引數型別也可以與引數型別不同,例如,如果將 int 引數傳遞給 float 引數,則將發生自動型別轉換。
-
void main() 不返回值。
int main() 有乙個 int 返回值。
-
從引數角度分類:1有論證功能:
函式具有有形引數,可以是乙個,也可以是多個,引數的型別是任意的,完全取決於函式的功能。 2.無引數函式:
該函式沒有引數,在引數列表的位置寫入 viod 或什麼都沒有。
每個 C 程式至少有乙個函式,那就是 main 函式 main(),如果程式的任務比較簡單,所有的 ** 都寫在 main() 函式中,但是在實際開發中,程式的任務往往比較複雜,如果所有 ** 都寫在 main() 函式中,main() 函式會非常龐大和臃腫, 結構複雜,**重複。
細節:我們可以根據程式的邏輯和任務的劃分,將**劃分為不同的自定義函式,main() 更關注業務邏輯和處理過程,當你需要執行特定任務時,可以呼叫這些自定義函式。
為了便於理解,我們將函式分為兩種型別:庫函式和自定義函式。 庫函式由C語言或系統提供,並實現了一些基本功能,如scanf和printf,可以直接在程式中使用。
自定義函式是程式設計師為完成任務而編寫的函式,以實現某個功能或使主程式更簡潔。 在程式設計師可以使用自定義函式之前,必須宣告和定義它。
我見過這樣的問題,我不明白你的意思,但我認為是這樣的,結構; 我打了...... 您可以在其中新增所有資料形式的定義,例如 int >>>More
c,賦值操作要求左值與右值的型別相同。
同一型別意味著變數本身屬於同一型別,它指向的物件屬於同一型別,並且兩者都是必不可少的。 >>>More