c語言!10的值是 C語言數(shù)據(jù)類型的自動轉(zhuǎn)換和強制轉(zhuǎn)換有什么區(qū)別?
C語言數(shù)據(jù)類型的自動轉(zhuǎn)換和強制轉(zhuǎn)換有什么區(qū)別?例如,它原來是int類型。如果計算int類型和double類型,結(jié)果將是double類型。如果您收到它的值,它可能是int類型。例如,inta=10*12
C語言數(shù)據(jù)類型的自動轉(zhuǎn)換和強制轉(zhuǎn)換有什么區(qū)別?
例如,它原來是int類型。如果計算int類型和double類型,結(jié)果將是double類型。如果您收到它的值,它可能是int類型。例如,inta=10*12.55的結(jié)果將自動轉(zhuǎn)換為雙精度類型。此時,您的int類型的a將用于接收值。值得注意的是,在自動轉(zhuǎn)換中,將小數(shù)據(jù)類型轉(zhuǎn)換為大數(shù)據(jù)類型時沒有錯誤,但是當將大數(shù)據(jù)類型轉(zhuǎn)換為小數(shù)據(jù)類型時,將出現(xiàn)錯誤這是一個問題。
讓我們從結(jié)論開始:在C語言中,字符9可以直接乘以整數(shù)9,結(jié)果是513。
首先,我們需要了解字符是如何存儲在內(nèi)存中的。在計算機中,字符由相應(yīng)的ASCII碼(美國信息交換標準碼)來表示,不管ASCII碼用什么來表示,它最終都表示一個整數(shù)。例如,“9”的ASCII值以十進制表示為57。所以,字符9看起來像是在做乘法。實際上,它是在用它的ASCII值進行乘法。
如何用C語言計算表達式“9”*9。
乘法運算符是雙目遠距運算符,需要兩個操作數(shù),如上圖所示,操作數(shù)1和2。計算前,要求兩個操作數(shù)的類型必須一致?,F(xiàn)在,操作數(shù)1是字符類型,操作數(shù)2是整數(shù)類型(默認值是int類型)。兩個操作數(shù)的類型不一致,因此需要進行類型轉(zhuǎn)換。
在C語言中,有兩種數(shù)據(jù)類型轉(zhuǎn)換:一種是自動類型轉(zhuǎn)換;另一種是強制類型轉(zhuǎn)換。在這里,它將使用自動類型轉(zhuǎn)換,這可以理解為在C系統(tǒng)中自動完成,而不需要程序員的參與。根據(jù)自動類型轉(zhuǎn)換的原理,字符類型將自動轉(zhuǎn)換為int類型,“9”轉(zhuǎn)換為int類型的ASCII值為57。
轉(zhuǎn)換后,使用57*9,答案是513。
以上就是這個問題的答案。