隱式類型提升規(guī)則這篇文章是用來作為關(guān)于C中的隱式整數(shù)提升的常見問題,特別是由通常的算術(shù)轉(zhuǎn)換和/或整數(shù)提升引起的隱式提升。例1)為什么這會(huì)給出一個(gè)奇怪的大整數(shù)而不是255呢?unsigned char x = 0;unsigned char y = 1;printf("%u\n", x - y);例2)為什么這會(huì)產(chǎn)生“-1大于0”?unsigned int a = 1;signed int b = -2;if(a + b > 0)
puts("-1 is larger than 0");例3)為什么將上述示例中的類型更改為short解決問題?unsigned short a = 1;signed short b = -2;if(a + b > 0)
puts("-1 is larger than 0"); // will not print(這些示例用于一臺(tái)短16位的32位或64位計(jì)算機(jī)。)
隱式類型提升規(guī)則
桃花長(zhǎng)相依
2019-06-19 16:32:19