关于C/C++中函数参数传递的规则
生活随笔
收集整理的這篇文章主要介紹了
关于C/C++中函数参数传递的规则
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
f(A,B,C);
在編譯程序中,對函數參數傳遞的處理是由右向左進行的。
因此,先傳遞的是最右邊的參數的值。這個結論在日常使用的時候其實也很難發現有什么具體的區別,但是在編譯原理中或者一些偏向于理論的考試中這恰恰是最容易忽視的地方。
下面簡單舉例說明:
測試程序:
在查看運行結果前可以自己猜一下運行結果的數值。
運行結果:
先傳遞二參,即i先進行自增,這是函數兩個實參都變為了2,所以結果是4。
轉換一下順序再次進行比較:
#include<iostream> #include<bits/stdc++.h> using namespace std;int fun(int x,int y); int main() {int i=1;cout<<fun(i,i++)<<endl;return 0; }int fun(int x,int y) {return x+y; }運行結果:3
這里先傳二參,但是先傳后增,所以在到一參的時候值還是1,傳完后二參變2,所以結果為3.
用到的地方不多,但是在寫C的編譯器的時候關于這些語法需要注意一些。
這里也需要注意后增是在一次傳值之后就會執行自增。前增是在進行一次傳值前進行傳值。
我覺得慢慢來,是一種誠意。
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的关于C/C++中函数参数传递的规则的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于Kubeadm的Flannel分析
- 下一篇: c++定义一个动态全局变量_静态链接与动