1. <progress id="vgiqs"><track id="vgiqs"></track></progress>
      2. <dd id="vgiqs"><pre id="vgiqs"></pre></dd><button id="vgiqs"><object id="vgiqs"></object></button>

        <em id="vgiqs"><acronym id="vgiqs"><u id="vgiqs"></u></acronym></em>
        <button id="vgiqs"></button>
      3. <form id="vgiqs"><strike id="vgiqs"><kbd id="vgiqs"></kbd></strike></form>

        教育行業A股IPO第一股(股票代碼 003032)

        全國咨詢/投訴熱線:400-618-4000

        const關鍵詞修飾參數【案例演示】

        更新時間:2022年06月13日16時47分 來源:傳智教育 瀏覽次數:

        有時在定義函數時,在函數內部,只想讓參數參與某種運算,不想改變參數的值,這時可以使用const關鍵字修飾形式參數。例如,定義一個函數:void even(int num),用于判斷傳入的整數是否是偶數,但在函數內部并不想參數num發生任何改變,這時可以使用const關鍵字修飾num。下面通過一個案例演示const修飾參數的使用,具體如例1所示。

        例1 const.c

            #define _CRT_SECURE_NO_WARNINGS        //關閉安全檢查
            #include <stdio.h> 
            void even(const int num )            //使用const修飾num
            { 
                if (num % 2 == 0) 
                    printf("%d是偶數!",num); 
                else
                    printf("%d是奇數!",num); 
            } 
            int main() 
            { 
               int n; 
                printf("請輸入一個整數:"); 
                scanf("%d", &n); 
                even(n); 
                return 0; 
            }

        例1運行結果如圖1所示。


        圖1 例1運行結果

        在在例1中,第3~9行代碼定義了even()函數,用于判斷傳入的數據是奇數還是偶數;第12~14行代碼定義整型變量n,并調用scanf()函數從鍵盤讀取數據賦值給變量n;第15行代碼調用even()函數,將n作為參數傳入函數。由圖1可知,當輸入11時,even()函數判斷11是奇數。

        在even()函數中,參數num被const關鍵字修飾,則num在even()函數內部不能被更改,否則編譯器會報錯。如果在even()函數中修改num的值,示例代碼如下:

        void func(const int num )            //使用const修飾num
        {
            num += 10;                        //修改num的值
            if (num % 2 == 0)
                printf("%d是偶數!",num);
            else
                printf("%d是奇數!",num);
        }

        再次在main()函數中調用even()函數,編譯器會報錯,如圖2所示。

        編譯報錯

        圖2 編譯器報錯

        由圖2可知,num被const關鍵字修飾,是不可更改的。但是const修飾的變量,雖然無法通過變量本身修改其值,卻可以通過指針進行修改,定義一個指向num的指針,通過指針可以修改num的值,示例代碼如下:

        int* p = &num;   //定義指向num的指針
        *p += 10;         //通過指針改變num的值




        猜你喜歡:

        var、let、const聲明變量的區別

        let關鍵字聲明變量有哪些好處?

        Java中super關鍵字怎樣使用?

        Java中有多少個關鍵字?使用關鍵字應當注意什么

        傳智教育Java高級軟件工程師培訓課程

        0 分享到:
        和我們在線交談!
        免费99精品国产自在现线,精品精品国产男人的天堂,国语自产精品视频在 视频_主页