色偷偷偷亚洲综合网另类,亚洲欧美另类在线观看,欧美午夜激情在线,久久久精品一区

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 講師博文 > 關于C語言的隱式類型轉換

關于C語言的隱式類型轉換 時間:2018-09-26      來源:未知

同種數據類型的變量在進行運算的時候,我們都知道怎么去運算

比如int a = 5, b = 10;

那么a+b的結果也是int類型的;

如果是不同的數據類型的變量在進行混合運算的時候,就需要將其轉換成同種數據類型,然后再進行運算

比如:int = 5;

float b = 10.5;

a+b的結果是多少呢?

這就牽扯到了我們所說的隱式類型轉換啦,我們先來看一副圖:

從上圖中,我們可以看到,float類型轉換成了double類型的,int類型也要轉換成double的,然后才可以進行運算,也就是說a+b的結果就是15.5啦

我們來驗證一下:

我們看到代碼運行的結果a+b的結果為浮點數,大家可以試一下,14行代碼如果改成%d的話,編譯時就會有類型不匹配的警告,所以int類型與float類型在進行混合運算的時候,都轉換成了double類型。

再繼續回到圖2-3,我們可以看到圖中有兩個方向的箭頭,都分別表示什么意思呢?

同樣我們舉例說明,先來看豎向箭頭:

我們可以看到a+b的結果是大于0的,那么也就是說int類型與unsigned int類型在進行混合運算的時候,先轉換為unsigned int類型,然后再進行運算。

同樣,我們再來看一個橫向箭頭的例子:

可以發現,sizeof(a+b)的結果為4,如果a+b還是char類型的話,結果應該是1,我們結合圖2-3,也就是說char類型在進行運算的時候,勢必要向int類型轉換,不管有沒有進行混合運算。

再來看一個例子:

打印的結果為a + b <= 0,結合圖2-3,我們可以推斷出char類型與unsigned char在進行運算時,都轉換成了int類型,同樣,如果將char改成short,unsigned char改成unsigned short,結果也是a + b <= 0,那就說明了short與unsigned short在進行運算時,也都轉換成了int。

所以:我們可以總結出,豎向箭頭表示不同的數據類型在進行混合運算的時候,會有一個低字節向高字節轉換的過程,橫向箭頭表示不管該類型有沒有進行混合運算都勢必會進行轉換,再進行運算,但是需要注意:比如int類型與double類型進行運算,不是int->unsigned->long->double這么一個過程,而是int類型會直接轉換成double類型。

后,再強調一點,我們說int與double類型運算時,int會轉換成double,如下圖:

我們可以看出,在編譯時,出現了警告,說明實際上a的類型實質上并沒有轉換成double類型的,而只是在運算的過程中發生了轉換。

上一篇:Android異步加載AsyncTask的使用

下一篇:談談socket 套接字

熱點文章推薦
華清學員就業榜單
高薪學員經驗分享
熱點新聞推薦
前臺專線:010-82525158 企業培訓洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,京ICP備16055225號-5京公海網安備11010802025203號

回到頂部

色偷偷偷亚洲综合网另类,亚洲欧美另类在线观看,欧美午夜激情在线,久久久精品一区
主站蜘蛛池模板: 久久色免费在线视频| 色综合久久悠悠| 精品视频久久久| 亚洲精美色品网站| 亚洲精品日韩欧美| 亚洲免费视频观看| 中文字幕久久久av一区| 久久精品99久久久久久久久| 另类图片亚洲另类| 久精品免费视频| 久久免费观看视频| 欧美又大粗又爽又黄大片视频| 欧洲成人在线观看| 亚洲国产精品久久久久| 国产午夜一区二区| 欧美区二区三区| 国产大片精品免费永久看nba| 成人久久一区二区三区| 日韩高清电影免费观看完整版| 国产视频在线一区二区| 91亚洲精华国产精华| 亚洲另类激情图| 美女撒尿一区二区三区| 欧美日韩美女在线观看| 欧美视频中文字幕在线| 2019av中文字幕| 成人激情视频在线观看| 亚洲国产精品久久| 久久激情视频免费观看| 欧美激情免费视频| 国产精品久久久久久搜索 | 91香蕉国产在线观看| 亚洲精品国产精品乱码不99按摩| 亚洲日本成人网| 欧美另类交人妖| 欧美自拍大量在线观看| 亚洲www在线观看| 日韩专区在线播放| 欧美猛交ⅹxxx乱大交视频| 欧美电影免费观看大全| 欧美激情三级免费|