[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; }
|