C++ 如何打印第一个字符的地址?

C++ 如何打印第一个字符的地址?,c++,C++,为什么整个字符串显示为结果?为什么第一个字符的地址没有打印出来?如何打印第一个字符的地址? 请帮帮我 #include <iostream> int main() { char x[6]="hello"; std::cout<<&x[0]; } #包括 int main() { char x[6]=“你好”; std::coutThe最好将地址打印为void*而不是intcout@RSahu谢谢-我已经调整了answer@meet只需将x更改为&

为什么整个字符串显示为结果?为什么第一个字符的地址没有打印出来?如何打印第一个字符的地址? 请帮帮我

#include <iostream>
int main()
{
    char x[6]="hello";
    std::cout<<&x[0];
}
#包括
int main()
{
char x[6]=“你好”;

std::coutThe
最好将地址打印为
void*
而不是
int
cout@RSahu谢谢-我已经调整了answer@meet只需将
x
更改为
&x[3]
就像您最初使用的那样。我删除了它,因为第一个字符不需要。@meet,
int
可能不够大,无法容纳地址,这将导致截断。此外,十六进制地址比十进制地址更容易读取。@Brett,将指针投射到
int
可能导致截断或整数溢出。行为由实现定义。请参阅本标准第4.7/3节。
#include <iostream>

int main()
{
    char x[6] = "hello";
    std::cout << static_cast<void*>(x);
}