C語言之形參和實參


一 形參與實參

1).定義

形參:形式參數。

     就是定義函數的時候,寫在函數名小括號后面的參數叫形參

 

實參:實際參數。

    就是調用函數的時候,調用函數時寫在函數名小括號后面的參數就叫實參

2).注意項

       a.實參既可以放常量,也可以放變量,還可以放表達式;形參:它其實可以理解為就是這個函數的局部變量

       b.實參給形參傳值,其實只是相當於給函數的形參(局部變量)賦值

       c.值傳遞:在函數內改變了形參的值,不會影響到外面的實參

d.在C語言中,除了數組以外,所有的類型作為實參傳遞都是值傳遞

 

二 有參函數

帶參數的函數定義語法:

void  函數名(類型 參數名){

                     函數體;

 }

 

 應用場景:當函數完成某個功能必須要外界傳入一些數據的時候,就用參數

 

tips:代碼例子如下

 

 

#include <stdio.h>

 

/*

 * 判斷一個數是不是水仙花數

 */

void isFlower(int num){

   

    int bai = num / 100;

   

    int shi = num / 10 % 10;

   

    int ge = num % 10;

    //如果 百*百*百 + 十*十*十 + 個*個*個 等於這個數

    if( bai*bai*bai + shi*shi*shi + ge*ge*ge == num){

        //就是水仙花數

        printf("%d是水仙花數\n",num);

    }else{

        //    否則 不是水仙花數

        printf("%d不是水仙花數\n",num);

    }

}

 

//2、寫一個函數,求指定某個數到某個數之間所有的整數的累加和

//如:3到8,算出3+4+5+6+7+8 = ?

void getN2MSum(int n,int m){

    int sum = 0;

    if(n < m){ //n比m小的情況

        for (int i=n; i<=m; i++) {

            sum += i;

        }

    }else{ //m比n小的情況

        for (int i=m; i<=n; i++) {

            sum += i;

        }

    }

    printf("%d到%d之間的和為%d\n",n,m,sum);

}

// 3、用函數來實現判斷一個年份是不是閏年

void isRunYear(int year){

   

    if( year % 400 ==0  || (year%4==0 && year %100!=0) ){

       

        printf("%d年是閏年\n",year);

       

    }else{

       

        printf("%d年是平年\n",year);

    }

   

   

}

 

int main(int argc, const char * argv[]) {

   

    //調用語法:函數名(實參列表);

    isFlower(200);

   

    getN2MSum(100,1);//10+11+12....+20

   

    isRunYear(1900);

   

    return 0;

}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM