国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C > 正文

淺談c語言中類型隱性轉換的坑

2020-01-26 14:28:11
字體:
來源:轉載
供稿:網友

謹記:在C語言中,當兩種不同類型之間運算時,低字節長度類型會向高自己長度類型轉換,有符號會向無符號類型轉換。

舉例子如下:

#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

當C2與i進行比較時,由于C2是有符號8位,i是無符號32位,根據C語言的規則,c2被轉換成32位,即-1的補碼,故會得出-1>1的結論。

而后面一個-1<1的情況是 c2轉化成無符號8位整數,即255,255, 所以大于1。

以上這篇淺談c語言中類型隱性轉換的坑就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 阿合奇县| 尼玛县| 普兰店市| 东乡族自治县| 邮箱| 白沙| 五家渠市| 保定市| 论坛| 永顺县| 平湖市| 宾阳县| 辽宁省| 东阿县| 安国市| 同德县| 永仁县| 道孚县| 灌阳县| 尤溪县| 唐海县| 昭苏县| 儋州市| 三都| 自治县| 额济纳旗| 正安县| 古交市| 惠东县| 黄龙县| 青浦区| 中方县| 花垣县| 胶南市| 夏津县| 清徐县| 江山市| 南宫市| 固镇县| 萨嘎县| 佳木斯市|