c語言共用體我打問號的那句為什麼把97用浮點形

2022-12-24 09:56:11 字數 1838 閱讀 3541

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...