您的位置:首页 > 编程语言 > C语言/C++

C语言中表达式求值要注意的几点

2012-03-06 16:32 316 查看
参考:《C和指针》

隐式类型转换

C的整型算术运算总是至少以缺省整型类型的精度来进行的。为了获得这个精度,表达式中的字符型和短整型操作数在使用之前被转换为普通整型,这种转换称为“整型提升”。缺省整型长度一般是计算机最合适的长度,因此精度提升不会降低速度,并且实现起来也很容易。

在下面的例子中,a和b首先转换成整型进行计算,然后将结果截短并赋值给c

char a, b, c;

c = a + b;


算术转换

如果某个运算符的各个操作数属于不同的类型,那么除非其中一个操作数转换为另一个操作数的类型,否则操作就无法进行。下面的层次体系称为寻常算术转换。

long double

double

float

unsigned long int

long int
unsigned int

int

如果某个操作数在这上面的排名较低,那么它首先将转换为另一个操作数的类型,否则操作无法进行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: