当某一表达式中一运算符的两个运算对象分别为unsigned int 类型与long int 类型时,可类似进行讨论。
一般而言,当采用这种规则时,当一表达式中既有有符号对象又有无符号对象时,该表达式的计算结果就是无符号的。
在许多情况下,保无符号规则与保值规则对表达式的执行结果而言并无什么区别。但是,在有些情况下,施用保无符号规则可能产生很奇怪的结果。例如,设usi为一unsigned short int类型的变量,si为一signed int 变量,再假定在计算表达式
use-st
时,二者的取值分别为2与3,那么这个表达式的计算结果不是-1(这是施用保值规则时求得的结果),而是一个很大的 unsignt int类型的值。
If an int can represent all values of the original type, the value is converted to an int;otherwise, it is converted to an unsigned int.These are called the integer promotions。
If an int can represent all values of the original type, the value is converted to an int;otherwise, it is converted to an unsigned int.These are called the integer promotions。
2、不光知道C99,还知道C99出台原因,它修补了K&R C 或者旧版ANSI C的什么漏洞。
照我看,这些漏洞是随着计算机高速发展才显现出来的,而C51标准没怎么修改,没什么漏洞(除非51发展到16位,C51就要修改了。)——那么36楼拿着32/64位PC机器最新标准在8位嵌入式机器上说什么事?如今嘴里嚼着洋快餐,就说中国的窝头是猪食?——我就是这感觉。