#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'作为输出。我无法理解为什么会发生这种情况。请帮我找到合适的原因。 提前谢谢。
答案 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