在輸出的時(shí)候加上(int)是否可行
#include
int main()
?{ ??
? ? ? double num = 2.5; ? ? ?//定義浮點(diǎn)型變量num并賦值為2.5 ? ?
? ? ? printf("num的整數(shù)部分是%d\n", (int)num);
?? ? ?return 0;
?}
?這樣輸出是否可行?
或者在輸出之前加一行 num = (int)num ?是否可行?
#include
int main()
?{ ??
? ? ? double num = 2.5; ? ? ?//定義浮點(diǎn)型變量num并賦值為2.5 ? ?
? ? ? printf("num的整數(shù)部分是%d\n", (int)num);
?? ? ?return 0;
?}
?這樣輸出是否可行?
或者在輸出之前加一行 num = (int)num ?是否可行?
2015-05-27
舉報(bào)
2015-05-27
都可以啊。不過(guò)強(qiáng)制轉(zhuǎn)換保險(xiǎn)點(diǎn)還是加上數(shù)據(jù)類型。
2015-06-21
目前階段你所學(xué)到的類型大多是“算術(shù)類型”,比如各種整型(char short int long)和浮點(diǎn)型(float double),它們之間是可以進(jìn)行轉(zhuǎn)換的。 因?yàn)樗鼈兊娜≈捣秶煌?,整型還有有無(wú)符號(hào)的區(qū)別,所以它們之間的轉(zhuǎn)換規(guī)則有些復(fù)雜,不過(guò)它們是完全可以進(jìn)行轉(zhuǎn)換的。
“算術(shù)類型”屬于“標(biāo)量類型”,指針也是一種標(biāo)量類型。而結(jié)構(gòu)體、聯(lián)合體、數(shù)組類型就算是“非標(biāo)量類型”了。這里面有些類型也是可以進(jìn)行轉(zhuǎn)換的,比如數(shù)組就可以隱式轉(zhuǎn)換為指向數(shù)組首元素的指針...
2015-05-28
如果你只寫(xiě)?num = (int)num; 是不行的。這句只是將num的值臨時(shí)轉(zhuǎn)換為int(截?cái)喑?),再將2賦值給num,而num仍然是double類型,與printf需要的類型不符。
類似Perona的答案,你可以這樣 int a = num; 再聲明一個(gè)int型變量,把num的值賦給a,這過(guò)程中會(huì)自動(dòng)進(jìn)行類型轉(zhuǎn)換,最后a的值是2,類型是int。注意不能像Perona那樣再用num這個(gè)變量名了。