鱼C论坛

 找回密码
 立即注册
查看: 3813|回复: 2

我这个代码第十一行怎么不能把数组的首地址强制从十六进制转化为十进制

[复制链接]
发表于 2023-10-10 19:11:47 | 显示全部楼层
要以十六进制形式输出数组的首地址,可以使用 std::hex 流控制符。下面是修改后的代码:
  1. ++
  2. #include<iostream>
  3. using namespace std;
  4. int main()
  5. {
  6.     int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
  7.     cout << "整个数组占用内存空间为" << sizeof(arr) << endl;
  8.     cout << "每个数组占用内存空间为" << sizeof(arr[0]) << endl;
  9.     cout << "数组中元素的个数为:" << sizeof(arr) / sizeof(arr[0]) << endl;
  10.     // 查看数组的首地址(以十六进制形式输出)
  11.     cout << "数组的首地址为:" << hex << reinterpret_cast<long long>(arr) << endl;
  12.     return 0;
  13. }
复制代码

修改内容如下:
1. 添加 #include<iostream> 头文件。
2. 将输出流的格式修改为 hex,以十六进制形式输出。
3. 使用 reinterpret_cast 将指针转换为 long long 类型,以保证地址输出正确。

这样就能以十六进制形式输出数组的首地址了。希望对你有所帮助!如果还有其他问题,请随时提问。

球一个最佳答案谢谢啦!这对我非常重要!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-4-1 21:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表