在 Linux 上使用控制台编译 C++ 时出现问题[已关闭]

问题描述 投票:0回答:2

我正在尝试在 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 的行为方式相同。

c++ linux gcc g++
2个回答
3
投票

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

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

2
投票

您的格式字符串错误。

您可以只使用 iostreams 并在很长一段时间内完成格式字符串:

std::cout << c << '\n';
© www.soinside.com 2019 - 2024. All rights reserved.