C语言赋值表达式类型转换规则详解
在赋值表达式i=c中,类型转换的规则如下:\n\n1. 如果变量c的类型与变量i的类型相同或者可隐式转换为i的类型,则直接将c的值赋给i。\n\n2. 如果变量c的类型为整数类型,而变量i的类型为浮点类型,则将c的值转换为浮点类型,并将转换后的值赋给i。\n\n3. 如果变量c的类型为浮点类型,而变量i的类型为整数类型,则将c的值进行四舍五入,并将转换后的值赋给i。\n\n4. 如果变量c的类型为布尔类型,而变量i的类型为整数类型,则将c的值转换为整数类型,并将转换后的值赋给i。其中,true被转换为1,false被转换为0。\n\n5. 如果变量c的类型为整数类型,而变量i的类型为布尔类型,则将c的值转换为布尔类型,并将转换后的值赋给i。其中,非零值被转换为true,零值被转换为false。\n\n6. 如果变量c的类型为指针类型,而变量i的类型为整数类型,则将c的地址转换为整数类型,并将转换后的值赋给i。\n\n7. 如果变量c的类型为整数类型,而变量i的类型为指针类型,则将c的值转换为指针类型,并将转换后的值赋给i。\n\n需要注意的是,如果变量c的类型与变量i的类型无法进行上述类型转换,则会导致编译错误。
原文地址: https://www.cveoy.top/t/topic/px0m 著作权归作者所有。请勿转载和采集!