<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # C 用戶定義的函數 > 原文: [https://www.programiz.com/c-programming/c-user-defined-functions](https://www.programiz.com/c-programming/c-user-defined-functions) #### 在本教程中,您將借助示例學習在 C 編程中創建用戶定義的函數。 函數是執行特定任務的代碼塊。 C 允許您根據需要定義函數。 這些函數稱為用戶定義函數。 例如: 假設您需要創建一個圓并根據半徑和顏色為其著色。 您可以創建兩個函數來解決此問題: * `createCircle()`函數 * `color()`函數 * * * ## 示例:用戶定義的函數 這是相加兩個整數的示例。 為了執行此任務,我們創建了一個用戶定義的`addNumbers()`。 ```c #include <stdio.h> int addNumbers(int a, int b); // function prototype int main() { int n1,n2,sum; printf("Enters two numbers: "); scanf("%d %d",&n1,&n2); sum = addNumbers(n1, n2); // function call printf("sum = %d",sum); return 0; } int addNumbers(int a, int b) // function definition { int result; result = a+b; return result; // return statement } ``` * * * ## 函數原型 函數原型只是函數的聲明,用于指定函數的名稱,參數和返回類型。 它不包含函數體。 函數原型向編譯器提供信息,該函數以后可以在程序中使用。 ### 函數原型的語法 ```c returnType functionName(type1 argument1, type2 argument2, ...); ``` 在上面的示例中,`int addNumbers(int a, int b);`是函數原型,它向編譯器提供以下信息: 1. 該函數的名稱為`addNumbers()` 2. 函數的返回類型為`int` 3. 類型為`int`的兩個參數傳遞給函數 如果在`main()`函數之前定義了用戶定義的函數,則不需要函數原型。 * * * ## 調用函數 程序的控制權通過調用轉移到用戶定義的函數。 ### 函數調用的語法 ```c functionName(argument1, argument2, ...); ``` 在上面的示例中,使用`main()`函數內部的`addNumbers(n1, n2);`語句進行函數調用。 * * * ## 函數定義 函數定義包含執行特定任務的代碼塊。 在我們的示例中,將兩個數字相加并返回。 #### 函數定義的語法 ```c returnType functionName(type1 argument1, type2 argument2, ...) { //body of the function } ``` 調用函數時,程序的控制權將轉移到函數定義中。 并且,編譯器開始在函數體內執行代碼。 * * * ## 將參數傳遞給函數 在編程中,參數是指傳遞給函數的變量。 在上面的示例中,在函數調用期間傳遞了兩個變量`n1`和`n2`。 參數`a`和`b`接受函數定義中傳遞的參數。 這些參數稱為函數的形式參數。 ![Passing arguments to a function](https://img.kancloud.cn/a3/69/a3696838ed4bdb491a2e164579462b44_650x525.png "Passing arguments to a function") 傳遞給函數的參數類型和形式參數必須匹配,否則,編譯器將引發錯誤。 如果`n1`為`char`類型,則`sum`也應為`char`類型。 如果`n2`為浮點型,則變量`b`也應為浮點型。 也可以在不傳遞參數的情況下調用函數。 * * * ## `return`語句 `return`語句終止函數的執行并將值返回給調用函數。 `return`語句之后,程序控制權將轉移到調用函數。 在上面的示例中,`result`變量的值返回到主函數。 為`main()`函數中的`sum`變量分配了該值。 ![Return statement of a function](https://img.kancloud.cn/77/6f/776fc45b617919867ac3a27749f4bfea_650x544.png "Return statement of a function") ### `return`語句的語法 ```c return (expression); ``` 例如, ```c return a; return (a+b); ``` 從函數返回的值的類型與函數原型和函數定義中指定的返回類型必須匹配。 訪問此頁面以了解有關[傳遞參數和從函數](/c-programming/types-user-defined-functions "Passing argument and returning value")返回值的更多信息。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看