我的代码是这样的:
#include <iostream>
using std::cout;
using std::endl;
int main(int argc, char *argv[])
{
cout << (int)('\0') << endl;
cout << (char)(0) << endl;
return 0;
}
我希望在终端中看到这样的:
$ test-program
0
$
然而,我看到的是这样的:
$ test-program
0
^@
$
让我感到困惑的是,我认为'\0'
可以转换为0
. 并且0
也可以铸成\0
。我希望看到一个空字符后跟一个endl
,但结果有点奇怪,比如^@
。
有人对此有想法吗?