c++ - 在 Linux 上使用控制台编译 C++ 时出现问题

标签 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 的行为方式相同。

最佳答案

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

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

关于c++ - 在 Linux 上使用控制台编译 C++ 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20244060/

相关文章:

c++ - 有没有与 C++/游戏开发人员交流的好地方?

c++ - 如何在每个共享库中使用自己的静态库拷贝

linux - 在Linux中追踪进程需要什么样的权限

c - 如何使 GCC 编译以便二进制文件使用新的共享对象?

c++ - MinGW 上的 localtime_r 支持

c++ - 如何使用 Qt 与 boost::scoped_ptr<QWidget> 的连接

c++ - 使用 default 关键字指定的构造函数是否微不足道?

linux - 使用 mv 在 bash 脚本中重命名文件

c++ - GCC:在 OS X 10.11.5 上获取 ld: symbol(s) not found for architecture x86_64 错误

gcc - 如何在 Ubuntu 上使用 DSFML2 和 D2 解决链接器错误?