簡體   English   中英

擴展ASCII字符C ++

[英]Extended ASCII character C++

為什么我不能測試我在此代碼中分配給符號(250)的ASCII值? 當我沒有分配給symbol時測試-6似乎很奇怪。

#include <iostream>

using namespace std;

int main()
{

    char symbol = 250; // dot symbol

    int a = symbol;

    cout << symbol << endl; // Outputs dot symbol

    cout << a << endl; // Outputs -6

    if(symbol == 250)
        cout << "250 works";

    if(symbol == -6)
        cout << "-6 works"; // -6 test works

    return 0;
}

char在您的平台上簽名。 250個字符超出范圍。 你要:

if (symbol == static_cast<char>(250))

否則, symbol將提升為整數。 另外,使用unsigned char ,而不是char可能會或可能不會進行簽名。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM