在使用格式化輸出printf()中,會出現0的錯誤。
例如,int a=49;
printf(“%f”,a/2);
因為要輸出的是24.5 是以用%f 來輸出float類型,但實際上會輸出0.000 或一串很大或很小的數。
這是因為a為int類型,a/2的結果為 24 精度已經丢失,不管正确與否都是錯誤的資料。
這時候隻需要強轉a就可以解決這個問題。
printf(“%f”,(float)a/2); -> 這樣輸出的結果就正确了。。
在使用格式化輸出printf()中,會出現0的錯誤。
例如,int a=49;
printf(“%f”,a/2);
因為要輸出的是24.5 是以用%f 來輸出float類型,但實際上會輸出0.000 或一串很大或很小的數。
這是因為a為int類型,a/2的結果為 24 精度已經丢失,不管正确與否都是錯誤的資料。
這時候隻需要強轉a就可以解決這個問題。
printf(“%f”,(float)a/2); -> 這樣輸出的結果就正确了。。