为什么这段很简单的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++是强类型语言吗?
就是担心有人整天写这样的代码
推荐阅读: