1樓:匿名使用者
因為在記憶體中整型和浮點型的儲存方式不一樣。如果想具體指導浮點數的儲存格式請參閱我的一個文件:https:
2樓:白羊
1.float預設就是6位小數
2.小數在記憶體是以指數形式儲存的,講整形97化成浮點型讀取讀取首位,為0
3,除了整數和字元型輸出可以相互轉化,其他的轉化會發生未知的數
3樓:匿名使用者
網頁連結這裡有答案,但我也看不懂…共用體要不涼了得了
c語言共用體,我打問號那句。為啥把97用浮點形式輸出變成0.000000而不是97.00000
共用體裡面的整數以浮點數形式輸出為什麼是0
4樓:文正
不是滴~整數的編碼和浮點數的編碼是不一樣的,你必須這樣寫:
printf("%f", (float)75);
這樣才能輸出75.000000
5樓:
如果定義的資料是int,用浮點數輸出會出錯的,結構體內也不例外比如,以下小程式執行看看:
#include
void main()
c語言,大神解釋下將int型別97用%f輸出為啥是0.000000。記憶體儲存形式老師沒教
6樓:德眾
%f是float型別,而int是整型不可能用%f要用%d等等,你一定看好型別
為什麼我這個程式輸出不對,輸了5.6,列印格式是浮點,為什麼出來的是000
7樓:匿名使用者
卻少百分號,改成scanf("%f",&asc);
c語言,為什麼輸出0.000000
8樓:匿名使用者
printf有問題
既然輸入格式用%f(浮點),後面就不要強制轉換成int了。
9樓:polaris北斗
整數的輸出格式用%d,你用的%f,所以會錯
c語言問題,問什麼此程式不能輸出0.500000,而輸出了0.000000
10樓:扈懷煒
因為 整型除整型得到的整型數,
把 j=1/i 修改成 j=1.0/i 就好了
c語言中,將浮點數以整數格式輸出,結果離譜,高手能講一下為什麼嗎?
11樓:佼翊
%-6d是c語言中printf的輸出格式轉換說明,%d表示輸出的數為整形,數字6表示該數在輸出時寬度至少為6位,寬度不夠6位的用空格補齊,-表示輸出的數左端對齊。
其他轉換說明符
%a(%a) 浮點數十六進位制數字[p-(p-)記數法(c99)%c 字元
%d 有符號十進位制整數
%f 浮點數(包括float和doulbe)%e(%e) 浮點數指數輸出[e-(e-)記數法]%g(%g) 浮點數不顯無意義的零"0"
%i 有符號十進位制整數(與%d相同)
%u 無符號十進位制整數
%o 八進位制整數 e.g. 0123
%x(%x) 十六進位制整數0f(0f) e.g. 0x1234%p 指標
%s 字串
%% 轉義%
12樓:亓谷翠
浮點數除去整數,整數將在編譯期轉化為浮點數,然後再相除,結果也是浮點數
共用體變數的問題,c語言共用體問題
公用體的意思就是他的成員都是重疊在一塊記憶體上的,也就是i和c是同一塊記憶體,對c賦值了,就改變了i的值。這裡,把int型的i的第一個位元組 最低位 賦值12,第二個位元組賦值1,所以i的值就成了1 256 12 268。00000001 00001100 268 用計算機自帶的可以計算出來 你要知...
一道C語言共用體程式題,C語言中共用體的一道題
我來解釋解釋吧 main a a.k 7 printf d,d,d n a.c 0 a.c 1 a.k printf d,d,d n a.c 0 a.c 1 a.k 當輸入 7,則 7,1,7 當輸入7,則 7,0,7 其實根本問題就是資料在計算機中的儲存問題。首先共用體是共用記憶體的,即共用體中每...
c語言結構體的定義及使用,C語言 結構體的定義及使用
額 你的初始化有錯誤 yinkailin.name yinkailin 這樣初始化是不行滴 加標頭檔案 include 然後這樣初始化 strcpy yinkailin.name,yinkailin 不是結構體的問題,是陣列的問題 char name tom 正確 定義並初始化char name 2...