📜  用C进行类型转换

📅  最后修改于: 2021-05-28 04:37:31             🧑  作者: Mango

类型转换这是一种数据类型,程序员在程序设计过程中使用转换运算符将其转换为另一种数据类型。在类型转换中,将数据类型转换为另一种数据类型时,目标数据类型可能小于源数据类型,这就是为什么它也称为收窄转换。

在某些情况下,如果数据类型保持不变,则可能会给出错误的输出。在这种情况下,类型转换可以帮助获得正确的输出并减少编译时间。

程序1:

以下是用于说明类型转换需求的C程序:

C
// C program to illustrate the use of
// typecasting
#include 
  
// Function to divide a and b
void division(int a, int b)
{
    float div;
  
    // Division of a and b
    div = a / b;
  
    printf("The result is %f\n", div);
}
  
// Driver Code
int main()
{
    // Given a & b
    int a = 15, b = 2;
  
    // Function Call
    division(a, b);
  
    return 0;
}


C
// C program to showcase the use of
// typecasting
#include 
  
// Function to divide a and b
void division(int a, int b)
{
    float div;
  
    // Typecasting in float
    div = (float)a / b;
  
    printf("The result is %f\n", div);
}
  
// Driver Code
int main()
{
    // Given a & b
    int a = 15, b = 2;
  
    // Function Call
    division(a, b);
  
    return 0;
}


输出:
The result is 7.000000

说明:在这里,实际需要的输出是7.500000 ,但结果是7.000000 。因此,获得正确的输出的一种方法是更改给定变量的数据类型。但是正确的输出也可以通过类型转换来完成。这包括在数据类型的名称周围加上一对括号,例如divide =(float)a / b

程式2:

以下是展示类型转换的C程序:

C

// C program to showcase the use of
// typecasting
#include 
  
// Function to divide a and b
void division(int a, int b)
{
    float div;
  
    // Typecasting in float
    div = (float)a / b;
  
    printf("The result is %f\n", div);
}
  
// Driver Code
int main()
{
    // Given a & b
    int a = 15, b = 2;
  
    // Function Call
    division(a, b);
  
    return 0;
}
输出:
The result is 7.500000

说明:在上面的C程序中,表达式(float)在操作之前将变量a从类型int转换为类型float

想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。