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