這樣寫的代碼為什么輸出是343597384?
#include<stdio.h>
#define PI 3.14
int main(){
int a=8;
printf("%d",a+PI);
}
uj5u.com熱心網友回復:
printf("%d",a+PI);應該改成printf("%lf",a+PI);
原因:IP的值為3.14,輸出浮點型別的資料占位符用%lf。
在記憶體中,無論哪種資料型別的資料,都是以相應長度的二進制碼存取。
從記憶體取資料是,如果不按照定義資料型別的方式取資料,所取資料就會錯誤。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/54961.html
標籤:基礎類
