我的代码是这样的:
#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,但结果有点奇怪,比如^@。
有人对此有想法吗?