1. 程式人生 > >C語言資料型別的強制轉換

C語言資料型別的強制轉換

這次主要是基本資料型別的轉換;

為什麼會有資料型別的轉換呢?

主要是由於在不同的情況下我們對於數值精度的要求不同,導致我們必須對一些資料進行處理。

資料型別的轉換分為強制轉換和隱式轉換兩種

強制轉換:當變數的取值範圍從大變小時

轉換格式:另一變數名=(要轉換到的型別)變數名;例如:int i=0; flaot j=10.123456;  i=(int)j; 這時浮點型變數 j  的值已經變為整型並付給變數 i 。

隱式轉換:當變數的取值範圍從小變大時,自動轉換,不用強制,例如:int i=0,float j=1.2345; j=i;

程式碼如下:



int  main(void)
{
int i = 2;
float j = 10.123456;
float temp=0;
//(float)i = (float)i;
printf("int_change_before:");
printf("%f\n", i);
printf("int_change_after:");
temp = (float)i;
printf("%f\n",temp);


printf("float_change_before:");
printf("%f\n", j);
printf("flaot_change_after:");
temp = (int)j;
printf("%d\n", (int)temp);
return 0;
}

輸出結果:

int_change_before:2

int_change_after:2.00000

float_change_before:10.123456

float_change_after:10


總結:強制轉換可以幫助我們獲取需要的取值,但是丟失了數的精度,具體按情況而定。