C語言強制類型轉換結果異常
#include?<stdio.h> int?main() { ????double?num?=?2.5;??????//定義浮點型變量num并賦值為2.5 ????(int)num; ????printf("num的整數部分是%d\n",?num);?? ????return?0; }
其結構為什么是-748043384 而不是2?
ps:經過重試 結果為隨機數
#include?<stdio.h> int?main() { ????double?num?=?2.5;??????//定義浮點型變量num并賦值為2.5 ????(int)num; ????printf("num的整數部分是%d\n",?num);?? ????return?0; }
其結構為什么是-748043384 而不是2?
ps:經過重試 結果為隨機數
2016-05-30
舉報
2016-11-10
沒有正確把浮點型num的值轉換成整型,導致系統無法識別,使輸出num的值為系統中隨機的值
2016-05-30
#include<stdio.h>
int main(void)
{
????double num=2.5;
????printf("num的整數部分是%d\n",(int) num);
????return 0;
}
int num;只是在這一個聲明中將num的整數部分顯示出來了,但是并不改變本身num的值。
2016-05-30
#include <stdio.h>
int main()
{
? ? double num = 2.5;?
? ? int j=(int)num;
? ? printf("num的整數部分是%d\n", j); ?
? ? return 0;
}
強制轉換是把原值轉換后賦給另一個變量 ?而你最后的輸出語句還是輸出num 還用的是%d可能會不正確 ?我做了以上調整 系統可以按著你的要求輸出了 ? ?我也是初學者 ?一起研究 愚見勿噴