#include <iostream> using namespace std; int main() { cout<<'\0x0'<<endl; return 0; } 结果:30768??
cout是输出流函数,输出的开始和结束仅受程序而不受物理信号结束,因此在没有输出全部位数之前如果没有碰到endl或‘\n’,输出不会截止 也就是空间中连续存放了三个char型数据,分别是 \0:也就是数字0,二进制为00000000 x:120,01111000 0:48,00110000 由于你要输出的数据大于一个字节,系统默认不会按char型输出,而是按一个整型数字输出,也就是: 0000 0000 0111 1000 0011 0000,即30768 也就是说cout<<'\0x0'<<endl;等同于cout<<'x0'<<endl; 假如改写为cout<<(char)'\0x0'<<endl; 系统会将这三个字节的高两个字节舍去,输出字符‘0’,不信你可以试试。