66问答网
所有问题
c语言中强制转换问题
如题所述
举报该问题
其他回答
第1个回答 2019-08-19
就是说,在表达式里使用
(double)a
的时候,会把a的值强制转换为double的类型再进行计算,但a本身的类型还是原来的,并没有改变。
换句话说,(double)a
是首先开辟个
double
类型的空间,把a的值放进去,然后使用这个新开辟的空间进行计算。
相似回答
关于
C语言的
整型和浮点型之间
的强制转换
与输出格式符
问题
答:
1:这里涉及到函数进栈时的,不定参数
转换问题
,float,double类型的,进栈的时候都是按double计算的,8个字节;所以不管参数里面是%f,还是%lf都是按8个字节取的,然后
强制
转换为f;//第二次的情况 int a=3;double b=1;b=1/a;printf("%-15d%-15d%-15f%-15f",1.0/a,b,1.0/a,b);...
long数组通过指针
强制转换
为char数组
c语言
程序
问题
!
答:
int nVar=0xab65;char
cC
har=char (nVar);上述
强制
类型
转换的
结果是将整型值0xab65的高端两个字节删掉,将低端两个字节的内容作为char型数值赋值给变量cChar,而经过类型转换后nVar的值并未改变。2、隐式强制类型转换 隐式类型转换发生在赋值表达式和有返回值的函数调用表达式中。在赋值表达式中,如...
C语言
类型
强制转换的
注意事项
答:
1.类型说明符和表达式都必须加括号(单个变量可以不加括号),如把(int)(x+y)写成(int)x+y则成了把x转换成int型之后再与y相加了。2.无论是
强制转换
或是自动转换,都只是为了本次运算
的
需要而对变量的数据长度进行的临时性转换,而不改变数据说明时对该变量定义的类型。例1:main(){float f=5...
C语言强制转换
遇到一些局限
问题
,为什么会被限制在3个字符之内,超过就不...
答:
原因在这条语句 char cuan[] = "";//定义个从键盘输入
的
一个字符串定义的空串,在32位系统中,虽然空串只占一个字节,但系统为了实现数据对齐,默认为数据分配的存储空间以32位即4个字节为单位,也就是为这个空串留了4个字节的空间,4个字节存字符串,只能存3个字符(最后还有字符串结束符呢)。
C语言
类型
强制转换问题
?
答:
指针类型,是一个地址。数组
的
名称,就是一个地址,所以,强制指针类型的作用对象的数组,针对的必须是数组名。所以要括起来。数组名[i],指数组中的i号元素,不是地址,不应该被
强制转换
为一个指针。
c语言强制
类型
转换
答:
1、int a;int b;double
c
= (double) a;double c = (double) b;int a = (int) c;这就是一种
强制
转变方法。2、long int c;(int)c;如果
C
变量是长整型,那么之下的语句就是将长整型转变成为整型的过程。3、()内是要转变的类型,当然相互之间的转变也同时遵循可行性原则。4、强制转变...
大家正在搜
c语言自动转换和强制转换
c语言中的强制类型转换
c语言中如何强制转换数据类型
c语言中强制转换需要四舍五入吗
c语言中强制类型转化格式
c语言中的类型转换可分为
c语言中合法的转义字符
c语言中scanf啥意思
c语言中getchar的用法举例