c语言中怎么把不同类型转化成同一类型?
比如怎么把float型转化成double型,把char,short型转化成unsigned型?
有两种转换方式:1.强制转换:(方法为:类型A的变量=(类型A)类型B的变量;)举例:float转 (double)a;char转 'c';unsignedcharb=(unsignedchar)a;short转 (unsignedshort)a;2.由系统隐含转换:也就是我们所说赋值操作.但是这种操作很多时候会给出错误信息.有的也不能成功.如指针与非指针类的转换.如果要进行这类转换建议用第一种方式,高版本的可以用第一种的变形方式.float转成 转 'c';unsignedcharb=a;short转 第一种方式的变形(只有高版本的才可以用,否则会给出错误信息)方法为:类型A的变量=类型A(类型B的变量;)举例:float转 (a);char转 'c';unsignedcharb=unsignedchar(a);short转 (a);
赞同 白雪压青松 的说法 不过第3种其实也可以看作第2种的特殊情况
float转成double(强制转换): float f=3.4;double d=(double)f; char转unsinged(直接赋值): char a=-20; unsigned char b=a; short转unsigned(直接赋值): short c=-40; unsigned short d=c;
问:定义数据类型为整型数,另char,float,double分别是字符型,单精度型
答:所谓单精度和双精度是指浮点数,它们的有效数字长度不同float单精度浮点数,有效数字7位,占用32位二进制数位double双精度浮点数,有效数字16位,占用64...详情>>
问:挺简单的一C函数,不过我是初学者,暂时还不会写,请好心人多多帮忙!
答:int mystrlen(char *str) { int n = 0; while (*str) { n++; str++;} return n; } voi...详情>>