c语言中整型数194和float型数2.5f如何转为double型呀?刚学c++不会做饿,还有把他

c语言中整型数194和float型数2.5f如何转为double型呀?刚学c++不会做饿,还有把他们相加怎么就是196.5像是数字直接相加一样? 还有解释一下“\092"如何看它的长度和占用字节数?希望解释不要太冗长,简洁明白一点,因为是手机打的,符号什么的不方便还请谅解啊……求解答T^T

    用强制转化,a=(double)b;  b为其他类型

    不同类型的变量相加,会将数据类型作一些变化,大致为:字符型->整形->单精度实型->双精度实型,所以194+2.5=196.5

    "\092"是字符串,共4个字符,长度为4,至于所占字节数跟你的定义有关,定义成字符串和字符串数组是不一样的,测试长度用strlen(str) ;测试所占字节用sizeof(str)

追问

我们只学了一点开头……数组,strlen什么的都不懂啊,还有答案是长度为0,字节数是4,长度为0貌似是和前面的\0有关,能说一下吗?尽量不要用专业术语好不,我看不懂……→_→

追答

好吧,是我看错了,\0是字符串结束标志(只是一个标志,不是数组元素),字符串数组一碰到这个就结束了,后面再多也没用。

追问

那长度为什么是4,我数到3,\0算一个,9算一个,2算一个,没了吧?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-02-28
把它们相加之后结果就是double型,因为有一种隐式类型转换:char-->int-->unsigned-->long-->double<--float,如果两个运算数都为整数,则不管加减乘除,直接取整而把小数部分丢弃,除非运算数中有实数

还有,你的问题:长度:头文件包含:#include<string.h>,c++包含#include<cstring>,然后:strlen("\092"); 字节数:sizeof("\092");/*sizeof不是函数,是运算符,用于求()内的类型或量的占字节数,例如sizeof(int),sizeof(a)等等*/
第2个回答  2014-03-01

    强制转换:   被赋值数=(要转换的类型)要转换的数据 例如     a=(double)194

    转换成双精度类型后,他们都是一个类型,所以就是简单的相加。

    那个串的长度是0 但是字节数是4   长度是0是因为\0 是字符串结束标志。即使后面还有它也不认。

第3个回答  2014-02-28
较“短”的类型转换为较“长”的类型很是方便,直接赋值就可以了。
float a=2.5;
int b=94;
double ad=a,bd=b;
这样就OK了。本回答被网友采纳
相似回答