<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>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # C 編程中用戶定義函數的類型 > 原文: [https://www.programiz.com/c-programming/types-user-defined-functions](https://www.programiz.com/c-programming/types-user-defined-functions) #### 在本教程中,您將學習使用函數來解決同一問題的不同方法。 下面的這 4 個程序檢查用戶輸入的整數是否是質數。 下面所有這些程序的輸出是相同的,并且在每個示例中我們都創建了一個用戶定義的函數。 但是,我們在每個示例中采用的方法都是不同的。 * * * ## 示例 1:沒有傳遞參數,也沒有返回值 ```c #include <stdio.h> void checkPrimeNumber(); int main() { checkPrimeNumber(); // argument is not passed return 0; } // return type is void meaning doesn't return any value void checkPrimeNumber() { int n, i, flag = 0; printf("Enter a positive integer: "); scanf("%d",&n); for(i=2; i <= n/2; ++i) { if(n%i == 0) { flag = 1; } } if (flag == 1) printf("%d is not a prime number.", n); else printf("%d is a prime number.", n); } ``` `checkPrimeNumber()`函數接收用戶輸入,檢查它是否是質數,并將其顯示在屏幕上。 `main()`函數內部的`checkPrimeNumber();`語句中的空括號表示沒有參數傳遞給該函數。 該函數的返回類型為`void`。 因此,該函數不返回任何值。 * * * ## 示例 2:不傳遞任何參數,但返回值 ```c #include <stdio.h> int getInteger(); int main() { int n, i, flag = 0; // no argument is passed n = getInteger(); for(i=2; i<=n/2; ++i) { if(n%i==0){ flag = 1; break; } } if (flag == 1) printf("%d is not a prime number.", n); else printf("%d is a prime number.", n); return 0; } // returns integer entered by the user int getInteger() { int n; printf("Enter a positive integer: "); scanf("%d",&n); return n; } ``` `n = getInteger();`語句中的空括號表示沒有參數傳遞給該函數。 并且,將從函數返回的值分配給`n`。 在此,`getInteger()`函數從用戶那里獲取輸入并返回。 用于檢查數字是否為質數的代碼位于`main()`函數中。 * * * ## 示例 3:傳遞參數但沒有返回值 ```c #include <stdio.h> void checkPrimeAndDisplay(int n); int main() { int n; printf("Enter a positive integer: "); scanf("%d",&n); // n is passed to the function checkPrimeAndDisplay(n); return 0; } // return type is void meaning doesn't return any value void checkPrimeAndDisplay(int n) { int i, flag = 0; for(i=2; i <= n/2; ++i) { if(n%i == 0){ flag = 1; break; } } if(flag == 1) printf("%d is not a prime number.",n); else printf("%d is a prime number.", n); } ``` 用戶輸入的整數值將傳遞到`checkPrimeAndDisplay()`函數。 在這里,`checkPrimeAndDisplay()`函數檢查傳遞的參數是否為質數,并顯示相應的消息。 * * * ## 示例 4:傳遞參數并返回值 ```c #include <stdio.h> int checkPrimeNumber(int n); int main() { int n, flag; printf("Enter a positive integer: "); scanf("%d",&n); // n is passed to the checkPrimeNumber() function // the returned value is assigned to the flag variable flag = checkPrimeNumber(n); if(flag == 1) printf("%d is not a prime number",n); else printf("%d is a prime number",n); return 0; } // int is returned from the function int checkPrimeNumber(int n) { int i; for(i=2; i <= n/2; ++i) { if(n%i == 0) return 1; } return 0; } ``` 來自用戶的輸入將傳遞到`checkPrimeNumber()`函數。 `checkPrimeNumber()`函數檢查傳遞的參數是否為質數。 如果傳遞的參數是質數,則函數返回 0。如果傳遞的參數是非質數,則函數返回 1。返回值分配給`flag`變量。 根據`flag`是 0 還是 1,從`main()`函數打印適當的消息。 * * * ## 哪種方法更好? 好吧,這取決于您要解決的問題。 在這種情況下,傳遞參數并從函數返回值更好(示例 4)。 函數應執行特定任務。`checkPrimeNumber()`函數不接受用戶輸入,也不顯示相應的消息。 它僅檢查數字是否為質數。
                  <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>

                              哎呀哎呀视频在线观看