c - 为什么 float 类型指针寻址 int 显示未知数字?

标签 c pointers

为什么此代码在 Dev-C++ 中显示 a = 1120403456 的值(可能是垃圾)。

#include<stdio.h>
int main()
{
    int a=5;
    float * pf;
    pf=(float *)&a;
    *pf=100.0;
    printf("%d",a);
    return 0;
}

最佳答案

float 100.0 在内存中表示为 0x42C80000,十进制表示为 1120403456。您正在打印 100.0 的 32 位整数表示形式。

关于c - 为什么 float 类型指针寻址 int 显示未知数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35394724/

相关文章:

c - 使用柠檬解析器(LALR)生成一个计算器,如何从表达式中获取参数

c++ - 多态指针

将 C 数组中的元素复制到另一个数组中

c - 如何获取 *chars 并返回非整数?

c - 如何在 Linux 上为 Windows 交叉编译 C SDL 程序?

c - 如何使用 C 将具有 2 个变量的 IF 语句转换为 switch 函数?

c - 在 C 中与指针作斗争

ios - 修改常量值

c - 我如何在 C 程序中将此代码从 for 循环更改为 while 循环?

c - 在 C 中使用结构