Han*_*Sun 4 c c++ arrays string char
我的代码是这样的:
#include <iostream>
using std::cout;
using std::endl;
int main(int argc, char *argv[])
{
cout << (int)('\0') << endl;
cout << (char)(0) << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我希望在终端看到这样的:
$ test-program
0
$
Run Code Online (Sandbox Code Playgroud)
但是,我看到的是这样的:
$ test-program
0
^@
$
Run Code Online (Sandbox Code Playgroud)
令我困惑的是,我认为'\0'可以转换为0.并且0还可以投入\0.我希望看到一个null char跟随a endl,但结果是奇怪的^@.
有没有人有这个想法?
^@是空字符的常见表示.类似地,^A用于表示序数值为1 ^G的字符,对于序数值为7(钟形)^M的字符,以及对于序数值为13的字符(回车符).
cout << (char)0
Run Code Online (Sandbox Code Playgroud)
只是打印字符表示,而不是整数表示
| 归档时间: |
|
| 查看次数: |
894 次 |
| 最近记录: |