int cost = 12.99 // 實型常量默認爲double類型,如此定義,會將小數部分直接截去,以後cost = 12函數
float pi = 3.1415926536 // 實型常量默認爲double類型,有效位默認>=10位,而float有效位爲6位,因此pi會丟精度爲3.14159spa
*檢測數據轉換的常見錯誤*/
# include <stdio.h>內存
int main(void)
{
int f = 4;
int g = 5;
float h = 5.0f;編譯器
printf("%d\n", f, g);
printf("%d %d\n",f);
printf("%d\n", h);io
return 0;
}
/*輸出結果
0
4 0
0
*/
//不一樣的編譯器的輸出結果是不一樣的,所以,參數數目和類型必定要匹配編譯
printf(「%1.2f」, a);//表示把a輸出保留2小數用四捨五入,且整個數字佔用1格。變量
float num = 126.2 //其中num在做爲參數傳遞時會轉換爲double存放在內存中float
總結總結
當出如今表達式裏時,char 和short 都會轉換成int,視狀況轉換成unsigned int。,float轉化成double類型數據
在混合運算中低級類型轉換成高級類型;由高到低 long double ,double ,float,unsigned long long ,unsigned long, long, unsigned int, int
在賦值語句中計算結果會被轉換成將要被賦予值的那個變量的類型。
當作函數參數傳遞的時候,char 和short 轉化成int 而float 轉化成double
int b;b+5;中5默認是int