[英]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.