程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C語言運算時的參數符號自動轉換

C語言運算時的參數符號自動轉換

編輯:關於C語言

一個簡單的問題?C語言中int和unsigned int二者誰的數值范圍大?   提示一下,數值0在int中有+0和-0之分,unsigned int中0只有一個+0,所以unsigned int的數值范圍比int大。   有C語言運算代碼如下:     #include <stdio.h>   int main(int argc, char** argv) {     int  val = -15;     unsigned int value = 13;     int sum = value +  val;     printf("sum %d\n", sum);         return 0; } 上面的sum結果是多少?   這個問題的答案自己去想。   C語言運算式子中,若有不同類型的變量,則數值范圍小的變量會被自動轉換為數值范圍大的變量的類型。 所以C語言的轉換規則即為:www.2cto.com   1 char、short等變量會自動升級為int類型變量   2 unsigned char 、unsigned short變量會自動升級為unsigned int類型變量   3 有unsigned 和 signed 類型變量,則數值范圍小的變量的類型會被升級為數值范圍大的變量的類型。   由上面第三規則,上面代碼中val的運算時類型為unsigned int。   其他的很多所謂的規則,自己很容易套用第三規則去推導。    

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved