在Linux上使用控制台编译c ++的问题

时间:2013-11-27 13:41:14

标签: c++ linux gcc compiler-construction g++

我正在尝试在64位计算机上编译以下简单程序:

 #include <cstdio>


int main() {

    float a,b,c;
    a = 10.5;
    b = 20.6;
    c = a + b;
    printf("%d  \n", c);
    return 0;
}

我使用以下控制台命令编译它:

g++ -m32 file.cpp

当我执行这样的a.out文件时:

./ a.out -m32

我得到的结果是:

-1610612736

发生了什么事?我究竟做错了什么?在没有-m32标志的情况下编译时会出现伪造的结果。 Gcc的行为方式相同。

2 个答案:

答案 0 :(得分:3)

您的格式说明符错误。它应该是

printf("%f  \n", c);

答案 1 :(得分:2)

您的格式字符串错误。

您可以使用iostream并使用格式字符串很长一段时间:

std::cout << c << '\n';