搜尋

首頁  >  問答  >  主體

C++巨集展開的輸出問題?

#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;
}

程式如上,上述情況下正常輸出,但稍作修改後出現下列問題。

  1. 加入<<endl時程式報錯。另起一個cout<<endl可以正常輸出。

  2. 試圖在<<endl加括號,還是報錯。

  3. 試著用printf輸出,發現不加n時都輸出不了。

  4. 換用const常數時一切正常

有點搞不懂宏不是直接替換嗎,為什麼會出問題?

淡淡烟草味淡淡烟草味2779 天前799

全部回覆(1)我來回復

  • 为情所困

    为情所困2017-05-16 13:32:56

    #define pi 3.1415926;

    多了個;分號

    回覆
    0
  • 取消回覆