00问答网
所有问题
有定义 float a; double b; char c;执行c=(int)(a+b);后a,b,c三个变量的类型分别是
c到底是char还是int型,说一下原因
举报该问题
推荐答案 推荐于2016-10-12
c是char类型的,变量的类型是由声明变量时的决定的,声明c是用的是char类型,则c的类型就为char类型,不会改变的
c=(int)(a+b);这个是将a+b的结果强制转换为int型,char型本身实际上也是一种整型,只不过它只有一个字节罢了,能够表示的范围为-128~127,若超过这个范围,数据将会被截断
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://00.wendadaohang.com/zd/0ZZIejnj0Z0TnrZTIn.html
相似回答
...
a;int
b;float
c;double
d
;执行
语句
c=a+b+c
+d
;后,变量c的
数据
类型
...
答:
执行语句 c=a+b+c+d;后,
变量c
的数据
类型
仍是
float
。做加法运算时系统会自动进行类型转换的。a+b时,自动转换为int,再+c时,自动转换为float,最后+d时,自动转换为double。最后的结果是double,但是把此结果赋值给c时,自动转换为float。
...
b=
2.3
;double
c=
41
;int
d;则
执行
语句d=
a+b+c;后变量
d的数据
类型
为...
答:
问法有点问题,如果问d的数据
类型,
肯定是
int
啊,因为你是这么申明的。如果问
a+b+c
是什么类型,答案是
double,
因为
double的
精度在里面是最高的。值得注意的是java里(你的例子应该是java吧),小数是双精度的,比如 2.0 + 3, 结果就是
double类型
的。顺便说一下,在java里
float
b
=
2.3; ...
...
a;
int
b;
float
c;
double
d
; 执行
语句
c=a+b+c
+d
;后,变量c的
数据...
答:
c=a+b+c+d;因为c是
float
,不管怎么样,
执行
完以后肯定还是float...尽管a+b+c+d后的结果是double,但是:c = (a+b+c+d)最后这个结果还是要转化成c的类型!!
C语言的问题
答:
2.用long a=0xffffff;
int
b;
char
c
定义
。
执行b=a,c=
’b’
+b后
。
b , c的
值为?a为长整型三个字节为全1,赋值给b后b是整型
,b的
2个字节也是全1,但b是有符号整型第一字节表示符号是负数,所以为-1。c是字符型,c='b'+b 即是 c='b'-1得 'a'也就是97。所以b=-1,c=97 ...
大家正在搜
double int float
double型和float型
char int float
intfloatchar区别
int char float字节
double float区别
char与float的区别
float和double的精度
c语言double和float
相关问题
C语言:有定义语句char a;int b;float c;...
已知:char a;int b;float c;double...
已知:char a;int b;float c;double...
int a=3; double b;,执行赋值语句b=(fl...
c语言题目:若有下列定义:char a;int b;floa...
已知:char a;int b;float c;double...
哪个是C语言合法的实型数据类型关键字( ) A int B ...
若有以下定义: char a; int b; float c...