理解C指针

时间:2017-09-28 18:21:14

标签: c

#include<stdio.h>

int main()
{
    float a=3.14;
    char *j;
    j = (char*)&a;
    printf("%d\n", *j);
    return 0;
}

当我执行此代码时,它输出为'-61'。当我改变浮动a = 3.14浮动a = 3时它会产生'0'而当我将它改为int a = 3时它显示'3'作为输出。我无法理解为什么会发生这种情况。请帮我找到合适的原因。 提前谢谢。

1 个答案:

答案 0 :(得分:-1)

首先需要助手。试试这个:

#include<stdio.h>

int main()
{
    float a = 3.14;
    char j = (char)a;
    char *k = (char*)&j;
    printf("%d\n", *k);
    return 0;
}

输出:3