首页 > 解决方案 > 在 C 中将 long 类型转换为 int 和 short

问题描述

long x = <some value>
int y = <some value>

我想从 x 中减去 y ,以下哪一项会给我不同或相同的结果

 x = (int)x - y;

 x = x-y

 x = short(x) - short(y)

标签: ccastingtypecasting-operator

解决方案


类型longint. 较小的类型可以自动转换为较大的类型。所以,这段代码:

someLongNumber + someIntNumber

基本上等于

someLongNumber + (long)someIntNumber

所以输出将是long. 如果要将结果放入x. 但是,如果要将其放入y,则必须将x操作数强制转换为int( (int)x),或整个操作 ( (int)(x - y))。


推荐阅读