在mainC ++

问题描述

我有这段代码,我需要输出 x 变量为double(3.14),而无需更改主函数中的任何内容

#include <iostream>

int main() {
    int x = 3.14;
    std::cout << x << "\n";
    
    return 0;
}

我该怎么办?

解决方法

有两种解决方案,一种是正确的,另一种是您的教授可能想要的。

  1. 正确的解决方案(一种方法,还有其他类似的方法)。
    #include行之后添加以下内容:

     int main() {
         double x = 3.14;
         std::cout << x << "\n";    
         return 0;
     }
     #if 0
    

    在文件末尾添加它:

     #endif
    
  2. 您的教授的解决方案不正确。
    main之前添加以下行:

     #define int double
    

    [macro.names]翻译单元不得#define或#undef词法上与关键字[...]相同的

    • 为什么我认为您的教授可能想要这个?因为我看过一些C ++作业,并且观察到他们的作者经常无视和滥用C ++标准。
    • 您的教授可能想要第一个解决方案。我没有办法预测。