由宏定义来实现求两个数的乘积和商数之笔试实例

时间:2018-12-31 12:00:00 资料大全 我要投稿

由宏定义来实现求两个数的乘积和商数之笔试实例

  解:#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 <宏名>(<参数表>) <宏体>

  其中, <宏名>是一个标识符,<参数表>中的参数可以是一个,也可以是多个,视具体情况而定,当有多个参数的时候,每个参数之间用逗号分隔,

由宏定义来实现求两个数的乘积和商数之笔试实例

资料共享平台

由宏定义来实现求两个数的乘积和商数之笔试实例》(https://www.unjs.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都为实参。在宏替换时,就是用实参来替换<宏体>中的形参。

  注意问题

【由宏定义来实现求两个数的乘积和商数之笔试实例】相关文章:

1.面试实例:用两个宏定义来计算 s=(x*y)1/2

2.笔试实例:用函数实现将n个数按输入顺序的逆序排列

3.笔试实例:求∏的近似值

4.笔试题(数据的定义)

5.笔试题(String类定义)

6.真诚由友谊来奉献

7.面试的定义和种类

8.礼来智力笔试题