【原創】C語言運算子

來源:互聯網
上載者:User

今天要做一個小Demo用來擷取測試資料的,碰到一個特別基礎性的語言基礎問題,Mark下來。如果雙目運算子號的左右兩個數實值型別為整型,則得出來的數值也為整型,例如一下一個小Demo:

int a  = 64;
int b = 65;
float f = (float)(b/a);
float f2 = (float)(a/b);
printf("%f  %f",f,f2);   //Result: 1.000000  0.000000

/*****************************************************/
float c = 65.0f;
float f3 = a/c;
float f4 = c/a;
printf("%f  %f",f3,f4);//Result: 0.984615  1.015625

 

 可以深刻理解上面所說了吧。還有在使用printf和sprintf等進行字串列印或者轉換時,%f一般預設保留小數點後面的六位,%e表示雙精確度的浮點型double,一般是小數點後面14位,如果要控制小數點後面的位元可以通過"%.4f"這麼一種方式去實現保留4小數點後四位。

還有一點需要注意的,在使用sprintf進行資料轉換的時候,因為sprintf除了前兩個參數意外其他的參數都不是型別安全的,所以在某些使用的情況需要先強制轉換類型,例如一種情況:

int a = 100;
printf("%f",a);// Result: 0.000000

/****************************************/

printf("%f",(float)a);// Result:100.000000

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.