c - 如何使用隐式和显式强制转换?

标签 c casting implicit-conversion

Possible Duplicate:
Identify the implicit cast and explicit cast

int a = 2, b = 3;
float f = 2.5;
double d = -1.2;

int int_result;
float real_result;

real_result = a * f;
real_result = (float) a * b;
d = a + b / a * f;
d = f * b / a + a;

最佳答案

如果没有丢失信息,编译器将提升您的数据类型:

int a=3;
float b=a; //b=3.0f

如果存在信息丢失,编译器应降级并发出警告:

float b=4.3;
int a=b;  //a=4

[

short a=2000;
int b;
b = (int) a;    // c-like cast notation
b = int (a);    // functional notation

] 1

关于c - 如何使用隐式和显式强制转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2451722/

相关文章:

将 Char 缓冲区转换为短裤数组

c++ - 显式转换 XmlRpcValue 以加倍

c# - 为隐式转换启用编译器警告 (C#)

来自父特征的 Scala 隐式转换

c - 按一定条件删除链表元素

c - 如何将日期添加到日期时间字符串?

C:负数和余数背后的数学

android - fragment Activity : Cannot cast from Fragment to derived class

c - 循环展开,性能实验室

c++ - 变量会自动转换为函数所需的类型作为适当的参数吗?