欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺談c語(yǔ)言中類(lèi)型隱性轉(zhuǎn)換的坑

 更新時(shí)間:2016年08月20日 10:40:48   投稿:jingxian  
下面小編就為大家?guī)?lái)一篇淺談c語(yǔ)言中類(lèi)型隱性轉(zhuǎn)換的坑。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

謹(jǐn)記:在C語(yǔ)言中,當(dāng)兩種不同類(lèi)型之間運(yùn)算時(shí),低字節(jié)長(zhǎng)度類(lèi)型會(huì)向高自己長(zhǎng)度類(lèi)型轉(zhuǎn)換,有符號(hào)會(huì)向無(wú)符號(hào)類(lèi)型轉(zhuǎn)換。

舉例子如下:

#include <stdio.h>


void func(void)
{
  int i = 1;
  unsigned char c1 = 1;
  signed char  c2 = -1;

  if (c2 > i){
    printf("\r\n -1 > 1");
  }
  else{
    printf("\r\n -1 <= 1");
  }

  if (c2 > c1){
    printf("\r\n -1 > 1");
  }
  else {
    printf("\r\n -1 <= 1");
  }

  printf ("\n");
}

int main()
{
  func();
  return 0;
}

輸出:

-1 <= 1
-1 <= 1

當(dāng)C2與i進(jìn)行比較時(shí),由于C2是有符號(hào)8位,i是無(wú)符號(hào)32位,根據(jù)C語(yǔ)言的規(guī)則,c2被轉(zhuǎn)換成32位,即-1的補(bǔ)碼,故會(huì)得出-1>1的結(jié)論。

而后面一個(gè)-1<1的情況是 c2轉(zhuǎn)化成無(wú)符號(hào)8位整數(shù),即255,255, 所以大于1。

以上這篇淺談c語(yǔ)言中類(lèi)型隱性轉(zhuǎn)換的坑就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • C++設(shè)計(jì)一個(gè)簡(jiǎn)單內(nèi)存池的全過(guò)程

    C++設(shè)計(jì)一個(gè)簡(jiǎn)單內(nèi)存池的全過(guò)程

    利用C/C++開(kāi)發(fā)大型應(yīng)用程序中,內(nèi)存的管理與分配是一個(gè)需要認(rèn)真考慮的部分,下面這篇文章主要給大家介紹了關(guān)于C++設(shè)計(jì)一個(gè)簡(jiǎn)單內(nèi)存池的全過(guò)程,需要的朋友可以參考下
    2021-09-09
  • C++ 動(dòng)態(tài)內(nèi)存管理詳情解說(shuō)

    C++ 動(dòng)態(tài)內(nèi)存管理詳情解說(shuō)

    這篇文章主要介紹了C++ 動(dòng)態(tài)內(nèi)存管理詳情解說(shuō),文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下,希望對(duì)你的學(xué)習(xí)有所幫助
    2022-07-07
  • 使用Qt的QChartView實(shí)現(xiàn)縮放和放大功能

    使用Qt的QChartView實(shí)現(xiàn)縮放和放大功能

    QCustomPlot是一個(gè)小型的Qt畫(huà)圖標(biāo)類(lèi),支持繪制靜態(tài)曲線、動(dòng)態(tài)曲線、多重坐標(biāo)曲線,柱狀圖,蠟燭圖,這篇文章主要介紹了Qt的QChartView實(shí)現(xiàn)縮放和放大功能,需要的朋友可以參考下
    2022-09-09
  • 使用C語(yǔ)言調(diào)用luajit的方法詳解

    使用C語(yǔ)言調(diào)用luajit的方法詳解

    C語(yǔ)言是一種非常流行的編程語(yǔ)言,而Lua是一種基于C語(yǔ)言開(kāi)發(fā)的腳本語(yǔ)言,在Lua的各種實(shí)現(xiàn)中,luajit也是其中一種非常流行的實(shí)現(xiàn),在本文中,我將為大家介紹如何使用C語(yǔ)言調(diào)用luajit,并且詳細(xì)介紹如何傳入?yún)?shù),傳入結(jié)構(gòu)體參數(shù),以及獲取返回值
    2023-11-11
  • C語(yǔ)言關(guān)于自定義數(shù)據(jù)類(lèi)型之枚舉和聯(lián)合體詳解

    C語(yǔ)言關(guān)于自定義數(shù)據(jù)類(lèi)型之枚舉和聯(lián)合體詳解

    枚舉顧名思義就是把所有的可能性列舉出來(lái),像一個(gè)星期分為七天我們就可以使用枚舉,聯(lián)合體是由關(guān)鍵字union和標(biāo)簽定義的,和枚舉是一樣的定義方式,不一樣的是,一個(gè)聯(lián)合體只有一塊內(nèi)存空間,什么意思呢,就相當(dāng)于只開(kāi)辟最大的變量的內(nèi)存,其他的變量都在那個(gè)變量占據(jù)空間
    2021-11-11
  • C++對(duì)象的淺復(fù)制和深復(fù)制詳解及簡(jiǎn)單實(shí)例

    C++對(duì)象的淺復(fù)制和深復(fù)制詳解及簡(jiǎn)單實(shí)例

    這篇文章主要介紹了C++對(duì)象的淺復(fù)制和深復(fù)制詳解及簡(jiǎn)單實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • 關(guān)于C語(yǔ)言 文件讀寫(xiě) feof 函數(shù)

    關(guān)于C語(yǔ)言 文件讀寫(xiě) feof 函數(shù)

    這篇文章主要給大家分享的是關(guān)于C語(yǔ)言文件讀寫(xiě) feof 函數(shù) ,feof 是 C 語(yǔ)言標(biāo)準(zhǔn)庫(kù)函數(shù),其功能是檢測(cè)文件結(jié)束符,如果文件結(jié)束,則返回非 0 值,否則返回 0,感興趣的小伙伴請(qǐng)跟小編一起來(lái)看看下面文章的內(nèi)容吧
    2021-10-10
  • 封裝常用正則表達(dá)式的用法

    封裝常用正則表達(dá)式的用法

    這篇文章主要介紹了使用C++封裝常用正則表達(dá)式的用法,方便以后直接使用,最后還給出了測(cè)試代碼,大家可運(yùn)行測(cè)試使用
    2014-03-03
  • C++?primer超詳細(xì)講解關(guān)聯(lián)容器

    C++?primer超詳細(xì)講解關(guān)聯(lián)容器

    兩個(gè)主要的關(guān)聯(lián)容器為map和set,map中元素是一些關(guān)鍵字—值對(duì),關(guān)鍵字起索引的作用,值則表示與索引相關(guān)聯(lián)的數(shù)據(jù)。set中每個(gè)元素只包含一個(gè)關(guān)鍵字,set支持高效的關(guān)鍵字查詢操作——檢查一個(gè)給定關(guān)鍵字是否在set中
    2022-07-07
  • 利用Matlab繪制一個(gè)可愛(ài)的南瓜燈

    利用Matlab繪制一個(gè)可愛(ài)的南瓜燈

    這篇文章主要為大家介紹了如何利用Matlab繪制一個(gè)可愛(ài)的南瓜燈!文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Matlab有一定幫助,需要的可以參考一下
    2022-02-02

最新評(píng)論