為什麼這段很簡單的C++代碼會卡死?
我分別在菜鳥,洛谷,http://cplusplus.com的在線ide上運行都會卡死,很奇怪
#include &
using namespace std;
int main()
{
signed char a = 0xe0;
unsigned int b = a;
unsigned char c = a;
cout &
cout &
cout &
return 0;
}
沒有人注意到 在線 ide 嗎?所以有一種可能,是你沒有在頁面上事先輸入 那些 cin &>&> 要讀取的數據。
會卡死?出亂碼可以理解,會卡死說明這些在線ide做的不咋地。
ide不行:
à
4294967264
à
這個是我的輸出,linux命令行下的
為什麼你寫這麼簡單的代碼都沒注意到signed char的範圍?
我的沒有卡,只是顯示的是亂碼。
為何要寫如此明顯錯誤的方式,而不加類型強制轉換呢?
輸出的時候沒處理非法字元吧。對於大多數編碼方式,單獨的0x80以上的位元組都是無效的。
知道為什麼C++是強類型語言嗎?
就是擔心有人整天寫這樣的代碼
推薦閱讀: