1樓:匿名使用者
main()
在執行printf("%d",a)的時候,由於是%d格式,它會讀取a所指向的前兩個位元組,在a中,由於是double型,它的表示是用4個位元組,其中的前兩個位元組是0,如果只是想輸出a的整數部分可以替換成main()
2樓:匿名使用者
main()
3樓:關南珍
是你電腦的問題,是不是32位的?
我的電腦執行後結果如下:
-1717986918press any key to continue
若改為float結果也是是:
-1717986918press any key to continue
也就是記憶體溢位:很明顯1717986918是1100110011001100110011001100110
4樓:匿名使用者
double型別在記憶體中佔用8個位元組,long型別佔用4個,應該只是按長整形的方式輸出了後面四個位元組的內容吧。我的輸出是-1717986918。再具體我就不清楚了,我用的vc6。
5樓:
因為%d不是double型別的正確輸出格式
6樓:匿名使用者
%d是int型別的輸出格式,
應該是這樣的:
double a=1.1;
printf("%d",(int)a);
使用強制轉換(int)a,轉為int型
7樓:朝華景鑠
使用vc9.0編譯出來的結果是-1717986918
我認為是浮點數和整數在機器內部的儲存方式不同造成的。
8樓:匿名使用者
double型別請用 printf("\n%lf",a);
以下程式執行後的輸出結果是 main() {double a; int b; b=a=10/4; printf(「%d,%f\n」,b,a);}
9樓:匿名使用者
10/4得到的是整數2,將2賦給a,在輸出a是顯示2.000000
如果要得到2.500000,需要10.0/4或10/4.0
10樓:聽不清啊
這是因為10和4都是整數,兩個整數的商仍是一個整數,所以10/4是等於2而不是2.5
11樓:匿名使用者
因為10和4都是整.所以結果也是整.你把10或是4其中一個加一個.0結果就會有小數了.
12樓:匿名使用者
因為10和4都是整數,所以10/4的結果也是整數,得2而不是2.5
可以參考小學數**算
13樓:
b=a=10/4;這兒的執行是從右往左的,因為a是整型 ,所以10/4結果是2,而不是2.5,所以b=a時,也是2
為什麼1 1是,為什麼1 1是
這道題難道無數世界級數學家,至今仍未解開,來這裡的應該沒有數學家 1 1 2是為什麼?1 1 2 就是數學當中的公理,在數學中是不需要證明的。1 1 1 2 在現代的精密科學中,特別在數學和數理邏輯中,廣泛地運用著公理法。2 公理法是從某一科學的許多原理中,分出一部分最基本的概念和命題,對這些基本概...
為什麼我的顯示這樣的,是網路11,不是本地連線或者寬頻連線
就是個名字。你可以開啟網路共享中心,進介面卡設定裡改。不想彈出這個對話方塊,你可以在控制面板裡找到windows防火牆,把它關了就沒了 為什麼我的電腦顯示的連線是本地連線而不是寬頻連線?我用的是電信的。我隔壁的同事用的是聯通的,她的顯 聯通是用貓的吧,要新建寬頻連線來撥號聯網,你的電信是不是已經連了...
為什麼我的OPPOr11手機不能顯示特殊符號
你好,您檢查下您來的自 記憶體卡是否有插好了,您重新bai插拔一下du試試,也有可能 zhi是記憶體卡dao 與手機不相容導致的,您換張記憶體卡試試,或者將記憶體卡插到別的手機看能否顯示。若您還有其他的問題諮詢,您可以進入oppo企業平臺向客服諮詢提問喔 oppor11,左上角有一個禁止符號,是什麼...