- 相關推薦
由宏定義來實現求兩個數的乘積和商數之筆試實例
解:#include
main()
#define product(a,b) (a*b)
#define divide(a,b) (a/b)
{
float result,n1,n2;
printf(“input n1:”);
scanf(“%f”,&n1);
printf(“input n2:”);
scanf(“%f”,&n2);
result=product(n1,n2);
printf(“%f\n”,result);
result=divide(n1,n2);
printf(“%f/n”,result);
}
拓展:
帶參數的宏定義的一般形式如下:
#define <宏名>(<參數表>) <宏體>
其中, <宏名>是一個標識符,<參數表>中的參數可以是一個,也可以是多個,視具體情況而定,當有多個參數的時候,每個參數之間用逗號分隔,
由宏定義來實現求兩個數的乘積和商數之筆試實例
,資料共享平臺
《由宏定義來實現求兩個數的乘積和商數之筆試實例》(http://salifelink.com)。<宏體>是被替換用的字符串,宏體中的字符串是由參數表中的各個參數組成的表達式。例如:#define SUB(a,b) a-b
如果在程序中出現如下語句:
result=SUB(2, 3);
則被替換為:
result=2-3;
如果程序中出現如下語句:
result= SUB(x+1, y+2);
則被替換為:
result=x+1-y+2;
在這樣的宏替換過程中,其實只是將參數表中的參數代入到宏體的表達式中去,上述例子中,即是將表達式中的a和b分別用2和3代入。
我們可以發現:帶參的宏定義與函數類似。如果我們把宏定義時出現的參數視為形參,而在程序中引用宏定義時出現的參數視為實參。那么上例中的a和b就是形參,而2和3以及x+1和y+2都為實參。在宏替換時,就是用實參來替換<宏體>中的形參。
注意問題
【由宏定義來實現求兩個數的乘積和商數之筆試實例】相關文章:
面試的定義和種類05-23
禮來智力筆試題10-20
兩種筆試類型07-03
筆試方法和技巧10-25
筆試的技巧和方法10-31
筆試題(struct 和 class)06-05
阿里筆試題目之研發&產品08-08
諾和諾德筆試經驗09-05
阿里筆試題目之運營&視覺設計09-08
諾和諾德筆試題目09-22