C++宏展开的输出问题?

浏览:37日期:2023-03-18

问题描述

#include <stdio.h>#include <cmath>#include <iostream>using namespace std;#define pi 3.1415926;//const double pi=3.1415926;int main(){// printf('%f',(atan2(-1,1)*180/pi)); cout<< atan2(-1,1)*180/pi;// <<endl;}

程序如上,上述情况下正常输出,但稍作修改后出现如下问题。

加入<<endl时程序报错。另起一个cout<<endl可以正常输出。

试图在<<endl加括号,还是报错。

试图用printf输出,发现不加n时都输出不了。

换用const常量时一切正常

有点弄不明白宏不是直接替换吗,为什么会出问题?

问题解答

回答1:

#define pi 3.1415926;

多了个;分号

相关文章: