C語言中強制型別轉換會改變原來變數的型別麼?比如a float b,那麼b的也會變成浮點型麼

2021-04-19 07:56:32 字數 2765 閱讀 1211

1樓:匿名使用者

題主的關注點應該在強制型別轉換後原地址的型別不會變上,但如果a也是整型,這樣把一個浮點數賦值給一個整型,也會進行強制型別轉換,即我認為a還是整型。thx

2樓:apple林

不會,你宣告b是什麼型別,強制型別轉換賦值後,b還是原來的型別的

3樓:匿名使用者

a=(float)b,是將b的型別強制裝換為浮點型後給a,但b的型別沒有發生改變.

4樓:匿名使用者

a=(float)b,只是把b由int型強制轉換成float型,然後賦值給a,最後結果是a和b仍然是int型

5樓:匿名使用者

不回 只有計算的結果改變

6樓:此生不愛

你宣告b的時候是什麼型別,b就是什麼型別,不會改變的。

7樓:

b不會!a會變成float型別

8樓:葛朋

不會 可以編譯下 看看結果

9樓:

b依然是整形,不會改變;a會轉換為float形

c語言中強制型別轉換後原變數值和資料型別不變 對嗎?

10樓:聽不清啊

強制型別轉換是把變數從一種型別轉換為另一種資料型別。

這話完全正確。

例如,如果您想儲存一個 long 型別的值到一個簡單的整型中,您需要把 long 型別強制轉換為 int 型別。您可以使用強制型別轉換運算子來把值顯式地從一種型別轉換為另一種型別。但這隻適用於本次使用,原變數的型別及其中的值都不會發生變化。

擴充套件資料:

舉例說明

使用強制型別轉換運算子把一個整數變數除以另一個整數變數,得到一個浮點數:

#include int main()

當上面的**被編譯和執行時,它會產生下列結果:

value of mean : 3.400000sum=17

11樓:yx陳子昂

對的,表示式的值和型別變了,但不會影響原變數

c語言強制型別轉換問題

12樓:樂跑小子

強制型別

bai轉換的一般形式為:(類du型說明符)zhi(表示式),例如: (float) a 把a轉換為浮dao點型,版(int)(x+y) 把x+y的結果轉換為 整型強制類權型轉換是通過型別轉換運算來實現的。

功能是把表示式的運算結果強制轉換成型別說明符所表示的型別。

注意事項:①型別說明符和 表示式都必須加括號(單個 變數可以不加括號),如把(int)(x+y)寫成(int)x+y則成了把x轉換成int型之後再與y相加了。

②無論是 強制轉換或是自動轉換,都只是為了本次運算的需要而對 變數的資料長度進行的臨時性轉換,而不改變資料說明時對該 變數定義的型別。

13樓:匿名使用者

此時a的值是52,仍然是int型。

補:b的型別並沒有發生變化,同樣是int型,值也沒有改變。

14樓:123冰霜雪月

a是int型的

b是char型的

然後轉換

型別轉換就是(加上你要轉的型別)

有問題再問

15樓:匿名使用者

a是char型的,只有8位,謝謝。

16樓:納良銳卿雲

c語言bai的運算規律是(char、dushort)--->int------>unsigned------->long------->double<------float,

所以你第一第二個比較都zhi是轉換成unsignedint型計算,-3在計dao算機是版補碼形式存在,權大於100,更是大於3

第三第四十轉換成double,float型變數是把整數部分放在23到30位,轉換成double數當然很大,所以都比100大呀

c語言中 一個變數經過強制型別轉換後的值會儲存到其儲存單元裡嗎;

17樓:金色潛鳥

變數 只有通過賦值 才能改變 它的 值。 沒有 重新 賦值,它的值是 不會 變化

版 的。

例如 int a = 123; double b = (double) a;

那末, a 的值權 還是 整型 123。 b 的值 是 double 型 123.0;

a+=100 就是 a = a + 100; 也就是 a 的新值 = a 的老值 + 100;

a/=100 就是 a = a / 100; 也就是 a 的新值 = a 的老值 / 100;

這兩個計算都成立。

18樓:匿名使用者

不會儲存在儲存單元裡

a+=100成立,那a/=100成立嗎?

也成立加減乘除都可以這樣連著寫

19樓:匿名使用者

強制型別轉換

只是給編譯器看的,編譯器一般要求參與操作的元素符合指定的型別,用專強制型別轉屬換隻是告訴編譯器訪問這個變數的方式,並不改變這個變數的值。

+和/雖然都是數學操作符,但還是有些區別,/只能用於整型,而+沒有這個限制。所以如果a是整型,a/=100成立。

20樓:匿名使用者

當然儲存到對應的儲存單元裡,a+=100,是把a裡的值加上100後再存到a裡去,談不上成不成立。

在C語言中如何使用bool型別

布林型 bool 變數的值只有 真 true 和假 false 布林型變數可用於邏輯表示式,也就是 或 與 非 之類的邏輯運算和大於小於之類的關係運算,邏輯表示式運算結果為真或為假。bool可用於定義函式型別為布林型,函式裡可以有 return true return false 之類的語句。布林型...

C語言中基本資料型別包括哪些

c 語言的基本資料型別有如下四種 整型,說明符為int 字元型,說明符為char 浮點型 又稱實型 說明符為float 單精度 double 雙精度 空值型,說明符為void,用於函式和指標。為了滿足各種情況的需要,除了void型外,上述的三種型別前面還可以加上修飾符改變原來的含義。signed 表...

關於C語言中各型別資料間的混合運算

兩種不同型別的數運算的時候,根據包容性,將低階範圍的轉換成高範圍的,將小的轉換為大的。這樣才能保證結果更正確。比如將單精度轉換成雙精度,將short轉換為long等。所以,結果是雙精度的。如果結果儲存到單精度的變數,將會有一個warning的編譯警告。這個問題其實是基礎問題。兩個單精度運算的話,系統...