[英]Converting an int to a float in C
我在將int
轉換為float
遇到麻煩。 我嘗試輸入convert,但似乎無法正常工作。 我究竟做錯了什么?
float *six(const int *x) {
float *p = malloc(sizeof(x));
p = (float *)x;
return p;
}
int main() {
float *p_six;
int i4 = 4, i432 = 432;
p_six = six(&i4);
printf("%d == %f\n", i4, *p_six);
free(p_six);
}
您不能將float *
指向int
並期望它能正確解釋。 它們具有非常不同的表示形式,因此您最終將得到垃圾。
您需要做的就是將您的int
值分配給一個float
,它將被轉換。
int main()
{
float f;
int i = 4;
f = i;
printf("%d == %f\n", i, f);
return 0;
}
輸出:
4 == 4.000000
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.