2013年7月13日 星期六

[C/C++基礎] C/C++ 運算式型別轉換的影響

[C/C++基礎]  C/C++ 運算式型別轉換的影響



本篇要分享-C/C++ 運算式型別轉換的影響,有興趣的(C/P)同好,歡迎來(C/P)一下哈哈 ^ ^









#include <stdio.h>

#include <stdlib.h>

//=============================

//Type Conversion

//r=3

//4/3*3.14*r*r*r=?

//=============================

int main()

{

    int intr=3;

    float fltAns=0.0;

 

    fltAns=4/3*3.14*intr*intr*intr;//因為沒有注意型別轉換,導致運算結果錯誤

    printf("r=3\n4/3*3.14*r*r*r=%f\n",fltAns);

    printf("///////////////////////////////\n");

 

    fltAns=4.0/3*3.14*intr*intr*intr;//有進行型別轉換1

    printf("r=3\n4.0/3*3.14*r*r*r=%f\n",fltAns);

    printf("///////////////////////////////\n");

 

    fltAns=4/3.0*3.14*intr*intr*intr;//有進行型別轉換2

    printf("r=3\n4/3.0*3.14*r*r*r=%f\n",fltAns);

    printf("///////////////////////////////\n");

 

    fltAns=(float)4/3*3.14*intr*intr*intr;//有進行型別轉換3

    printf("r=3\n(float)4/3*3.14*r*r*r=%f\n",fltAns);

    printf("///////////////////////////////\n");

 

    fltAns=4/(float)3*3.14*intr*intr*intr;//有進行型別轉換4

    printf("r=3\n4/(float)3*3.14*r*r*r=%f\n",fltAns);

    printf("///////////////////////////////\n");

    return 0;

}


 


沒有留言:

張貼留言