亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

我改了一下,為啥輸出的結果是 num的整數部分是2

#include <stdio.h>
int main()
{
??? double num = 2.5;??? //定義浮點型變量num并賦值為2.5
?int mum=(int)num;
??? printf("num的整數部分是%d\n", mum);?
??? return 0;
}

正在回答

4 回答

你是賦值num后,又將強制轉換的(int)num定義給int型的mum,當然輸出num整數部分為2了。盡管你將你的num定義給了mum,但輸出的最終是它的值而不是名。

0 回復 有任何疑惑可以回復我~

你看這個我想你就明白了

數據類型和表達式都必須加括號,如把(int)(x/2+y)寫成(int)x/2+y則成了把x轉換成int型之后再除2再與y相加了。

由此可知:(int)mum即(int)(mum)

1 回復 有任何疑惑可以回復我~

因為你輸出格式里規定: ? ?num的整數部分為.........。 ? ? ?如果你改掉前面的 num 。輸出的語句就會改變

0 回復 有任何疑惑可以回復我~

強制轉換的運算不遵循四舍五入原則,結果是對的

0 回復 有任何疑惑可以回復我~
#1

幕布斯7025141 提問者

我的疑問是為什么不是輸出 mum的整數部分是2
2017-12-24 回復 有任何疑惑可以回復我~
#2

z3phyr 回復 幕布斯7025141 提問者

因為輸出的文字是你引號里面所寫的內容,變化的只有%d,值是你mum的值,你把變量改成什么名字,輸出的都不會變
2017-12-25 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

我改了一下,為啥輸出的結果是 num的整數部分是2

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號