c語言宏定義的例子 C語言,帶參數(shù)的宏定義?
C語言,帶參數(shù)的宏定義?宏power2(x)意味著在程序中用x*x替換x。如果I j出現(xiàn)在括號(hào)中,編譯器將用I j*I j的代碼替換它。如果它是#define power2(x)(x)*(x),它將用
C語言,帶參數(shù)的宏定義?
宏power2(x)意味著在程序中用x*x替換x。如果I j出現(xiàn)在括號(hào)中,編譯器將用I j*I j的代碼替換它。如果它是#define power2(x)(x)*(x),它將用(I j)*(I j)替換它,那么輸出是196。類似地,如果將其更改為#define power2(x)x/x,代碼將替換為ij/ij,結(jié)果將為15。
求C程序:定義一個(gè)帶參數(shù)的宏,使兩個(gè)參數(shù)的值互換,輸入兩個(gè)數(shù)做為使用宏時(shí)的實(shí)參?
在C語言中,定義兩個(gè)參數(shù)的宏來完成參數(shù)交換,然后
1。如果參數(shù)指定為整數(shù)數(shù)量,如int、long、short、char,則可以定義如下:#define swap(a,b){(a)=(a)^(b)(b)=(a)^(b)(a)=(a)^(b)}此方法不需要借用第三個(gè)參數(shù)。
2. 如果參數(shù)不是整數(shù),如float、double等,那么可以借助第三個(gè)外部參數(shù)來定義:#define swap(a,b){(T)=(a)(a)=(b)(b)=(T)}在實(shí)際使用中,T的類型需要與a,b相同,例如:float a,b,T,a=1.2,b=2.3 swap(a,b)