为什么字符串表现不同?

Tra*_*d97 0 c++ string char

#include <iostream>

#include <string.h>

using namespace std;

int main()

{

    char x[100]="hello";

    int s=strlen(x);

    cout<<&(x[0]);

}
Run Code Online (Sandbox Code Playgroud)

如果我编译并运行它,

输出是你好的

为什么输出不是字符'h'的地址?

Bau*_*gen 10

因为operator <<重载是const char*为了打印由零指向的零终止的C字符串const char*.