如果我把int n 改成float n 是表達(dá)了什么呢?n的數(shù)據(jù)類(lèi)型變成單精度了嗎?如果是這樣的話,輸出得到的數(shù)值不會(huì)變才對(duì),可是結(jié)果為什么變了
#include <stdio.h>
int main()
{
? ? double num = 2.5;
? ? int n = (int)num;//定義浮點(diǎn)型變量num并賦值為2.5
? ? printf("num的整數(shù)部分是%d\n", n); ?
? ? return 0;
}
2019-06-16
float n是單精度的,如果你將int 改為float,強(qiáng)制類(lèi)型轉(zhuǎn)換這里也建議轉(zhuǎn)換為float,之所以你的結(jié)果不對(duì),是因?yàn)?d用錯(cuò)了,這里應(yīng)該為%f.占位符用錯(cuò)了。
2019-06-16
受教了~灰常感謝大佬~~