私のコードは次のようなものです:
#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
。null文字の後に。が続くことを期待していましたendl
が、結果はのような奇妙なものになり^@
ます。
誰かがこれについてアイデアを持っていますか?