在輸出的時候加上(int)是否可行
#include
int main()
?{ ??
? ? ? double num = 2.5; ? ? ?//定義浮點型變量num并賦值為2.5 ? ?
? ? ? printf("num的整數部分是%d\n", (int)num);
?? ? ?return 0;
?}
?這樣輸出是否可行?
或者在輸出之前加一行 num = (int)num ?是否可行?
#include
int main()
?{ ??
? ? ? double num = 2.5; ? ? ?//定義浮點型變量num并賦值為2.5 ? ?
? ? ? printf("num的整數部分是%d\n", (int)num);
?? ? ?return 0;
?}
?這樣輸出是否可行?
或者在輸出之前加一行 num = (int)num ?是否可行?
2015-05-27
舉報
2015-05-27
都可以啊。不過強制轉換保險點還是加上數據類型。
2015-06-21
目前階段你所學到的類型大多是“算術類型”,比如各種整型(char short int long)和浮點型(float double),它們之間是可以進行轉換的。 因為它們的取值范圍不同,整型還有有無符號的區別,所以它們之間的轉換規則有些復雜,不過它們是完全可以進行轉換的。
“算術類型”屬于“標量類型”,指針也是一種標量類型。而結構體、聯合體、數組類型就算是“非標量類型”了。這里面有些類型也是可以進行轉換的,比如數組就可以隱式轉換為指向數組首元素的指針...
2015-05-28
如果你只寫?num = (int)num; 是不行的。這句只是將num的值臨時轉換為int(截斷成2),再將2賦值給num,而num仍然是double類型,與printf需要的類型不符。
類似Perona的答案,你可以這樣 int a = num; 再聲明一個int型變量,把num的值賦給a,這過程中會自動進行類型轉換,最后a的值是2,類型是int。注意不能像Perona那樣再用num這個變量名了。