一道有趣的C语言题:int *p=(int *)((int)a+1);

2023-05-16

偶然间看到这样一个c语言题目:小端模式

int  main(void)

{

        int  a[5]={1,2,3,4,5};

        int  *p=(int  *)((int)a+1);

        printf("%#X\r\n",*p);

        return  0;

}

下面是我对这道题目的一些看法,如有错误请指出:

(int)a+1的意思是把   a  由 地址 转换成 地址值,在c语言中地址值加1,表示地址往前1个字节,所以当其转换成(int  *)时,指针p存储的地址值是a的地址往前移了1个字节。*p就是取p地址后的4个字节。

如图:

 所以得到的结果为:0x2 00 00 00 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

一道有趣的C语言题:int *p=(int *)((int)a+1); 的相关文章

  • 如何转换 int 以返回字符串,这就是我们所说的 int

    我遇到过这个面试问题 面试官要求编写一个函数 该函数将接受一个整数 例如 123 并返回一个字符串 该字符串就是人们所说的整数 在上面的情况下 输出应该是 一百二十三 我不知道如何解决这些问题 任何人都可以帮助解决这个问题吗 伪代码会很有帮
  • 如何在 C++ 中将 int 连接到 wchar_t* ?

    我必须创建并写入N个文件 每个文件都必须有一个整数结尾来标识它 这是我的一段代码 for int i 0 i
  • 在 C# 中如何将小数转换为 int?

    如何将小数转换为整数 Use Convert ToInt32 from mscorlib as in decimal value 3 14m int n Convert ToInt32 value See MSDN http msdn mi
  • C++:计算游戏中的总帧数

    不是一个很好的标题 但我不知道该起什么名字 无论如何 我正在计算游戏中的总帧数 这样我就可以计算平均 FPS long int 万一游戏持续很长时间 我该怎么做才能确保我的long int不会增加超过其限制吗 如果超过极限会发生什么 Tha
  • C++ 向量大小类型

    我刚刚开始学习 C 有一个关于向量的问题 我正在读的书指出 如果我想提取 double 类型向量的大小 例如 我应该这样做 vector
  • 将 Array 转换为原始方法来表达相同的结果,不使用 LINQ,仅使用 int。

    我的程序记录了四个房间在瓶子驱动器中收集的瓶子数量 当用户输入 quit 时 会显示每个房间收集的瓶子数量 并打印出拥有最多瓶子的房间 我使用了一个数组来跟踪房间号 如何更改方法而不是使用数组 我想启动 room1 room2 room3
  • 整数求和布鲁斯,短+=短问题

    C 程序 short a b a 10 b 10 a a b Error Cannot implicitly convert type int to short we can also write this code by using Ar
  • C# 和 C++ 中 ++i 运算符的区别

    我用 C 和 C 编写了以下代码 int i 0 i 11 此 C 编译器出现错误后 The left hand side of an assignment must be a variable property or indexer 但是
  • 如何防止 java.lang.NumberFormatException: 对于输入字符串:“N/A”?

    在运行我的代码时 我得到了NumberFormatException java lang NumberFormatException For input string N A at java lang NumberFormatExcepti
  • int 到 long 赋值

    我一直在尝试这个 int 和 long 转换 我尝试分配一个int变量为along多变的 代码如下 public static void main String args int i 1024 long j i long k i i i i
  • 不使用局部变量的值

    上述所有变量的标题中都有警告 你能告诉我为什么会这样吗 public class DataTypes public static void main String argv new feature in JDK 7 int x 0b1010
  • 运算符“&&”不能应用于“int”和“bool”类型的操作数

    我试图找出输入的数字是否可以被 9 和 13 整除 但它不允许我使用我需要的运算符 我知道变量类型是错误的 但我不知道如何使变量类型被接受 我对编码不熟悉 所以答案可以尽可能基本 而不是小便 public bool IsFizzBuzz i
  • Java:不使用 Arrays.sort() 对整数数组进行排序

    这是我们 Java 课程的练习之一中的说明 首先 我想说我 做了我的功课 我不仅仅是懒惰地请 Stack Overflow 上的人帮我回答这个问题 在所有其他练习中 这个特定项目一直是我的问题 因为我一直在努力寻找 完美的算法 编写JAVA
  • 添加 char 和 int

    据我了解 字符是一个字符 即一个字母 一个digit 标点符号 制表符 空格或类似的东西 因此 当我这样做时 char c 1 System out println c 输出 1 正是我所期望的 那么为什么当我这样做时 int a 1 ch
  • 在 String 值之后打印 int 值

    我有以下示例代码 int pay 80 int bonus 65 System out println pay bonus bonus pay 有人可以向我解释一下为什么我得到以下输出 145 6580 您的代码正在从左到右解释表达式 pa
  • 从字符串中提取整数

    从字符串中提取整数并将其保存到整数数组中的最佳和最短的方法是什么 示例字符串 65 865 1 3 5 65 234 65 32 我尝试查看其他一些帖子 但找不到有关此特定问题的帖子 一些帮助和解释会很棒 看来这一切都可以完成std str
  • 为什么 size_t 和 unsigned int 比 int 慢?

    我正在 Windows 中的 Visual Studio 项目中使用下面的简单交换排序算法尝试不同的整数类型 处理器是英特尔 该代码是在 Release x64 中编译的 优化设置为 最大化速度 O2 编译设置对应的命令行为 permiss
  • C# 将 IntPtr 转换为 int

    我正在动态调用 Windows API 我在网上找到了一些可以做到这一点的代码 并且我对它非常感兴趣 至少可以说 这个想法本身就很出色 但是 我似乎无法让它适用于我的代码 动态调用的参数是类型string string int 我想使用 A
  • 确定 C 字符串是否是 C 中的有效 int

    我需要检查 C 字符串是否是有效整数 我都尝试过 int num atoi str and int res sscanf str d num 但发送字符串 8 9 10 这两行都仅返回 8 而没有指示该字符串的无效性 谁能提出替代方案 看看
  • 如何将输入读取为数字?

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 Why are x and y下面的代码中使用字符串而不是整数 注意 在Python 2

随机推荐