宏在使用过程余函数的区别1
生活随笔
收集整理的這篇文章主要介紹了
宏在使用过程余函数的区别1
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
#include<stdio.h>
#define MAX(X,Y) ((X)>(Y)?(X):(Y))
int max(int x, int y)
{
return x > y ? x : y;
}
int main()
{
int a = 10;
int b = 20;
int ret1 = MAX(a++, b++);//宏會直接把定義的替換過來
//((a++)>(b++)?(a++):(b++))會進(jìn)行一系列的運算。
此刻算完后a=11.b=22,ret=21
int ret2 = max(a++, b++);//函數(shù)會把值(上面運算后的值)傳過去在函數(shù)內(nèi)部進(jìn)行運算。
此刻運算后a=12,b=23,ret=22
printf("a=%d b=%d ret1=%d ret2=%d", a, b, ret1,ret2);
轉(zhuǎn)載于:https://blog.51cto.com/wpfbcr/1703006
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的宏在使用过程余函数的区别1的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 浅谈入行
- 下一篇: NSInteger,NSUInteger