有個問題,我在聽網上的C語言教程,他是32位電腦,按理來說,int也是位元組的。為什麼列印short列印

2022-08-02 12:40:29 字數 565 閱讀 4861

1樓:風若遠去何人留

第一個, int是2位元組, 還是4位元組, 不是作業系統,或者硬體決定的。 而是由編譯器決定的。 即使作業系統是32位,那麼編譯器一樣可以裝16位的, 就像64位的硬體可以裝32位系統, 64位系統可以裝32位軟體一個道理。

第二個,列印short 可以用

short a=-1;

printf("%hx", a);

不過貌似%hx 或者%hu %hd 這類很少見, 不確定是否所有編譯器都支援。 至少gcc是支援的。

另外一個做法, 就是列印前做強制轉換

比如short a=-1;

printf("%x", (unsigned)a);

除此外, 也可以專門寫函式, 逐個位元組列印。不過不推薦。

2樓:匿名使用者

額。。。問題好像描述得不是很清楚。

你這裡的short指的是你定義了short型還是說你有一個變數名字是short?

short型的話本身就是2位元組的。

變數名字為short的話。。。可能是和c語言關鍵字衝突了,換一個變數名試試?

有個c語言問題,那個好心人告訴我下,謝謝

int i 1,j 0 int sum 0 while i 10 while j i sum j int i 1 int temp 0 int result 1 while i 10 好像是這樣,沒除錯啊 int i,j,k i 1 j 1 k 0 while i 10 j 1 直接寫的,你可以測試...

在C 中,我的問題關於 基類有同名成員引起的二義性這個知識點

我來試著回答一下,大家看看是不是這樣 1.原本語句列印 在a1中 這個應該不用解釋,這個時候只有a1中存在print方法。2.增加a2 print 函式後,由於a2繼承a1所以a2 print 函式覆蓋 overwritten a1 print 函式,所以這種情況下,對於a2及a2的所有子類的例項來...

你們好 我有個問題想問一下,就是我的母親在我父親去世後找後老伴,跟他登記已經過了七年了,但是

根據我國婚姻法相關規定 雙方持有結婚證,夫妻共同財產平均分,然而房產證上名字為其兒子,所以房子已經不是共同財產了,無權要樓,但離婚後夫妻共同財產可以平均分!夫妻婚前財產約定不清楚的,婚前財產屬於個人財產,所有權人有權處分其財產。有約定的依約定。婚姻關係以登記為法律依據,你媽媽的情況是他結婚後的財產屬...