为什么在执行简单的以下 C++ 行时得到奇怪的输出“÷” [duplicate]

why am getting strange output "÷" when performing the simple follwoing c++ lines [duplicate]

提问人:mtk 提问时间:11/4/2023 最后编辑:genpfaultmtk 更新时间:11/4/2023 访问量:65

问:

运行此代码时:

#include <iostream>
using namespace std;

int main() {
    // Signed char
    signed char signedCharValue = -10;
    cout << "Signed char: " << signedCharValue << endl;

    // Unsigned char
    unsigned char unsignedCharValue = 246;
    cout << "Unsigned char: " << unsignedCharValue << endl;

    return 0;
}


我期待:

Signed char: -10
Unsigned char: 246

我得到:

Signed char: ÷
Unsigned char: ÷
C++ 字符 iostream cout unsigned

评论

2赞 Retired Ninja 11/4/2023
char很特别。如果需要整数值,则需要转换为 int。
0赞 Eljay 11/4/2023
试试这个:cout << "Signed char: " << +signedCharValue << endl;

答:

2赞 Christian Stieber 11/4/2023 #1

这是因为这是 C++,而不是 C。

char是一种不同的类型,并且用于输出的运算符具有 的重载,以便将其输出。<<char

如果需要代码,请将其转换为 int。

cout << "Signed char: " << (int)signedCharValue << endl;