以下程序的输出结果是 #define MIN(x, y) (x) < (y) ? (x) : (y) main() { int i , j, k; i = 10; j = 15;

2022-08-02 科技 72阅读

结果为15。

程序的第一行进行带参宏定义,用宏名MIN表示条件表达式(x) < (y) ? (x) : (y) ,形参x,y均出现在条件表达式中。程序中 MIN(i,j) 为宏调用,实参i,j,将代换形参x,y。

宏展开后该语句为: 10*(i) < (j) ? (i) : (j),运算结束的结果为15。

宏只是做了简单的替换操作。而函数的参数只在函数调用时求值一次,并将结果传递给函数即可。

define,无参宏定义的一般形式为:#define 标识符 字符串

define 函数定义一个常量。

常量类似变量,不同之处在于:

在设定以后,常量的值无法更改。

扩展资料:

对于宏定义还要说明以下几点:

1.宏定义是用宏名来表示一个字符串,在宏展开时又以该字符串取代宏名,这只是一种简单的代换,字符串中可以含任何字符,可以是常数,也可以是表达式,预处理程序对它不作任何检查。如有错误,只能在编译已被宏展开后的源程序时发现。

2.宏定义不是说明或语句,在行末不必加分号,如加上分号则连分号也一起置换。

3.宏定义其作用域为宏定义命令起到源程序结束。如要终止其作用域可使用#undef命令。

参考资料:

百度百科-define

声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com