c語言中定義了整型資料但是輸出的時候我把它調為浮點型,執行輸出了不是想要的結果

2021-04-22 02:21:00 字數 1084 閱讀 3702

1樓:匿名使用者

原因很簡單,bai格式串中du

的 %f 要求對應的引數必zhi須是浮點型,否則dao輸出就不正確版。

你已權經看到了,輸出是 b=0.000000,不正確吧?

整型資料調為浮點型必須使用 (float)b,而不是改一下格式串為 %f 就能做到的。

2樓:小川哥啦啦

計算機發現目標資料型別錯誤,不讀取,歸零處理

c語言中,兩個整型資料相除,結果用浮點型變數儲存,為什麼輸出的結

3樓:天雨下凡

c語言中,兩個整數相除,結果是也是整數,如果被除數不是除數的整數倍,那麼結果會直接捨棄小數,只保留整數部分,並且不會進行四捨五入,是直接捨掉小數,注意。

用你舉的例子:409/5,它的結果是81,不是81.8,如果要讓結果保留小數部分,那麼可以考慮給被除數或除數寫成帶小數的形式,比如寫成:

409.0/5或409/5.0或者409.

0/5.0

4樓:持之以恆

c語言中的除法:

1. 運算結果與運算物件的資料型別有關,若除數和被除數都是int,則商是int。 例:9/2 = 4

2. 若除數 和 被除數 中有乙個是浮點型資料,則商為浮點型。 例:9.0/2 = 4.500000

3. 例:

double a = 9 / 2;

printf("a = %lf \n", a);

執行結果: a = 4.000000

分析: 9 / 2 = 4 ,再將 4 賦值給 double a,最後 4就以double型別輸出,結果為4.0000004. 例 :

double b = 9.0 / 2;

printf("b = %lf \n", b);

執行結果: a = 4.500000

分析: 9.0 / 2 = 4.5,再將 4.5 賦值給 double b,

最後 4.5 就以double型別輸出,結果為4.500000

c語言無符號整型的輸出C語言無符號整型的輸出

b.不過個人覺得這題沒答案才對。平台都沒說,怎麼會有準確答案呢?vc6.0肯定不是這個答案,它的int是32位的。如果這題的int是16位的那麼就選b。解釋 1在記憶體中是以補碼形式儲存的。補碼的二進位制為 1111 1111 1111 1111 這個數按照無符號數輸出 也就是0xffff 也就是6...

c語言中如何定義字串,C語言中如何定義字串?

可以用陣列或指標 陣列 char s 80 abcd 或者char s 80 說明 自動加字串結束標誌 0 char s 80 指標 char s char s abcd c語言是一門通內用計算機程式設計容語言,應用廣泛。c語言的設計目標是提供一種能以簡易的方式編譯 處理低階儲存器 產生少量的機器碼...

c語言整型數賦值給浮點型的問題,c語言中將乙個浮點型賦值給整型時,會不會四捨五入?

b a 2 是這麼計算的 a是整型變數,2也是,因此計算被當成整型計算,得到整型結果0,然後發內現b是float型的,再將整容型結果0進行資料型別轉換賦值給b。因此應當將a 2算式中分子或分母轉換成float型就能正確計算了,比如 b float a 2 或b a 2.0 或b a b 2 c語言中...