巨集在使用過程餘函式的區別 1

2021-07-12 04:27:31 字數 583 閱讀 8758

#include

#define max(x,y) ((x)>(y)?(x):(y))

int max(int x, int y)

int main()

{int a = 10;

int b = 20;

int ret1 = max(a++, b++);//巨集會直接把定義的替換過來

//((a++)>(b++)?(a++):(b++))會進行一系列的運算。

此刻算完後a=11.b=22,ret=21

int ret2 = max(a++, b++);//函式會把值(上面運算後的值)傳過去在函式內部進行運算。

此刻運算後a=12,b=23,ret=22

printf("a=%d b=%d ret1=%d ret2=%d", a, b, ret1,ret2);

輸出結果

a=12,b=23,ret1=21,ret2=22

.....未完待續盡請期待

本文出自 「痕跡」 部落格,請務必保留此出處

mysql函式使用過程的坑

mysql函式使用過程的坑 場景 想要獲取到當前時間前一天的日期,使用的是curdate 1 問題 當時間為月初1號的時候,返回的資料就不對了,select curdate 1 20181100 結果就變為了00,正確結果應該是 20181031.解決辦法 應該使用函式 date sub curda...

函式式元件的使用過程

元件的定義方式一,利用函式定義元件 首字母不大寫就是無意義的標籤 return div h1 元件標題 h1 p 元件段落 p div reactdom.render div title content hr title content div document.getelementbyid roo...

從彙編的角度分析函式呼叫過程(1)

函式的引數傳遞有2種方式 堆疊方式 暫存器方式。如果是堆疊方式傳遞的,就需要定義函式引數在堆疊中的傳遞順序,並約定函式被呼叫之後,由誰來平衡堆疊 如果是暫存器方式傳遞的,就需要確定引數存放在哪個暫存器中。每一種方式都有其優缺點,而且與使用的程式語言有關係,不存在哪種方式好與壞。我們在開發中經常遇到呼...