-2

我在源代码中有以下内容。

#define VAR 3.0

但是当我尝试打印出来时,

cout << VAR;

我得到了价值

 3

当我传递一个预处理器标志 -DVAR 时,也会发生同样的事情。我已经检查了输出

g++ -E -P 

并且正确的值被预处理器替换,但可执行输出被截断。

4

1 回答 1

5

您可以尝试执行cout << 3.0;并获得输出 3 它不是执行它的预处理器,只是您尝试输出一个浮点数,这就是浮点数的打印方式

如果您要定义:

#define VAR "3.0"

你会得到想要的输出

于 2013-08-04T07:47:58.277 回答