繁体   English   中英

在C变量定义中输入括号

[英]Type in parentheses in C variable definition

我遇到了一些我不熟悉的C语法。 在声明了变量long ja ,然后使用ja=(long)(3.14)将变量分配给了该变量。

long ja;
ja=(long)(3.14);

在已声明的变量的赋值中使用(long)( variable type )有什么意义?

这行是赋值,而不是声明:

ja=(long)(3.14);

它采用3.14 (这是double类型的常量),将其强制转换为long (结果为3 ),然后将该值分配给ja

3.14literal float ,而jalong
尝试将浮点值分配给long 左值将导致编译器警告,例如:

警告:隐式转换会将文字浮点数转换为integer:double到long。

为了适当地促进分配并抑制警告,语法

ja=(long)(3.14)

据说将3.14 转换long 类型
类型转换是一种方法,它使一种类型的变量(例如浮点数)像另一种类型的变量(例如long)一样起作用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM