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算一个,没了吧?
强制转换: 被赋值数=(要转换的类型)要转换的数据 例如 a=(double)194
转换成双精度类型后,他们都是一个类型,所以就是简单的相加。
那个串的长度是0 但是字节数是4 长度是0是因为\0 是字符串结束标志。即使后面还有它也不认。