C语言中的数据类型-强转

强制类型转换

概念:将某种类型的数据转化我们需要的数据类型,注意强制类型转化是临时强转,不会改变本身的数据类型。

强转又分为显式强转和隐式转化

显示强转是按照我们的要求进行转化

格式:(需要转化数据类型)变量名

#include 
int main(){
    int a = 0;
    int b = 2.71;
    a = (int)b;   //显式强转
    
    printf("a = %d, b = %d\n", a, b);
    return 0;
}

输出

a = 2, b = 2.71

隐式强转

若是用户使用运算符两边的类型不匹配,并且用户没有显示的指定匹配那种类型。系统

会默认触发隐式的强转,强转规则如下:

C语言中的数据类型-强转_第1张图片

思考下面代码运行结果

int a = -100;                            
unsigned int b = 3;  
   
                       
if((a + b) > 0)
{
        printf("a + b > 0\n");        
}else{
        printf("a + b <= 0\n");        
}

结果为:

a + b > 0

因为a,b两个变量类型不匹配,进行加法运算时编译器会触发隐式类型转换,将int型转为unsigned int,所以结果为a + b > 0

你可能感兴趣的:(C语言,c语言)