首页 > 试题广场 >

举例说明可以使用const替代#define,以消除#def

[问答题]
举例说明可以使用const替代#define,以消除#define的不安全性。

推荐
例如,以下程序显示出# define的不安全性:
#include<iostream> 
using namespace std;
#define A2 + 4 
#define B A*3
 int main ()
{ cout<<B<<end1;
 return 0;
 }
上面程序的运行结果是14,而不是18,但很容易被认为是18。
下面程序使用const替代了#define,就可以消除#define的不安全性:
#include<iostream>
using namespace std;
const A= 2 + 4;
const B=A+3;
 int main ()
{ cout<<B<<end1;
 return 0;
 }
使用const以后,运行结果是18。

发表于 2018-05-05 21:15:44 回复(0)
const是常量数据类型,#define是宏,只会进行文本替换
发表于 2019-04-19 16:03:01 回复(0)