C语言中类型转换

#include <stdio.h>
#include <stdlib.h>
int main()
{
    // 字符类型的强制转换与隐式转换
    char a = 'a';
    int a1 = (int)a;
    int a2 = a;
    printf("字符类型的强制转换与隐式转换:\n");
    printf("强制转换结果:%d\n", a1);
    printf("隐式转换结果:%d\n", a2);
    printf("\n\n");
    // 整型强制转换与隐式转换
    int b = 20;
    int b1 = (float)b;
    int b2 = b;
    printf("整型类型的强制转换与隐式转换:\n");
    printf("强制转换结果:%f\n", b1);
    printf("隐式转换结果:%f\n", b2);
    printf("\n\n");
    // 浮点型强制转换与隐式转换
    float c = 3.141592;
    int c1 = (int)c;
    int c2 = c;
    printf("浮点型类型的强制转换与隐式转换:\n");
    printf("强制转换结果:%d\n", c1);
    printf("隐式转换结果:%d\n", c2);
    printf("\n\n");

    system("pause");
    return 0;
}
/*
输出结果:
字符类型的强制转换与隐式转换:
强制转换结果:97
隐式转换结果:97


整型类型的强制转换与隐式转换:
强制转换结果:0.000000
隐式转换结果:0.000000


浮点型类型的强制转换与隐式转换:
强制转换结果:3
隐式转换结果:3
*/

总结:

  1. 强制转换会根据程序实际用途去转化,得到的结果可能会省略部分的值!
  2. 隐式转化编译器会自动将数据低的数据类型转成高的数据类型,转化后的值数据正确!
最后修改:2019 年 04 月 14 日 12 : 35 PM

发表评论