1樓:匿名使用者
20/3是兩個整型常量進行運算,結果進行了取整
改為d=20.0/3.0;
2樓:魔龍嗜血
這是型別轉換的問題。
首先 20/3,系統會認為這是整形資料的運算,得出的結果為6,然後將整型資料賦給實型資料,就會將整型資料強制轉換為實型資料。故輸出結果為 6.000000
樓主你同時也犯了一個錯誤,計算機所有實型資料是以二進位制形式儲存,不同的機器、編譯器,對同中資料型別的二進位制位數也不同。例如:
int 型資料一般是2位,但也有4位時候。所以不要被教材的部分內容迷惑。
3樓:匿名使用者
應為 20 和 3 在c中 預設為int 型20/3 則是兩個整形相除 (整形相除的結果是整形 直接忽略掉小數部分)
所以結果是6
而d是double型
所以又把6轉換成double型
為6.000000
4樓:
d=20/(double)3;這麼改就行了,d為浮點型,但是20和3是int型的。
5樓:催淚單
20是整型,3是整型,所以20/3的結果必然是整型即是6,然後把6賦給d,所以被轉換為6.000000
如果想得到浮點數,可以20*1.0/3,先將20轉換成浮點數,之後的結果自然是浮點數
請教c語言中的問題,請教一個c語言中的問題?
不對int n n 意思是定義了一個指標變數n指向int型 n 等價於 n 就是先取n指向變數的值 然後讓n 1 n也就是讓n指向下一地址 而且這樣用必須先給n賦一個安全的地址才行 對啊,你用 幹什麼,有不是指標.就是 號自增 資深癩 int n n 或者int n n 以上都行 兩個的區別是 n ...
C語言中DOUBLE型資料儲存結果
釋夕楊歌 十進位制實數轉化為二進位制,往往不能用有限的位元數精確表示。double型規定了用幾位元作指數,幾位元代表精度 即有效數字 這對十進位制實數的儲存精度進一步加了限制。 朱禮祭君 老譚的書上有 實型資料一般佔4個位元組 32位 記憶體空間。按指數形式儲存。實數3.14159在記憶體中的存放形...
C語言中float與double的區別是什麼
賀金蘭陽靜 float一般用於平常的小數,但double由於有效位數和指數範圍都比效廣所以一般用來表示比較精確的小數或者比較大的數 無法用long來表示的 如 1.121324328947893275973249,幾百億上千億等等 允秋芹敏姬 double的位數是float的2倍,float16位,...