跪求:若有定义:int x=3,y=2;float a=2.5,b=3.5;则表达式(x+y)%2+(int)a⼀(int)b的值为______。

2024-11-15 18:34:00
推荐回答(5个)
回答1:

int x=3,y=2;float a=2.5,b=3.5;

(x+y)%2+(int)a/(int)b
1.计算x+y=3+2=5;
2.(x+y)%2表示除以2的余数。5/2=2余1
3.(int)a/(int)b;强制转换a=2,b=3;a/b=2/3=0

所以结果是1+0=1;

注意:
1.float型转换为int型,只取整数部分不产生四舍五入等效果。如float型3.82转换为int结果就是3
2.两个int型相除,结果也为int型,也是取整数部分。如2/3=0.666...取整数部分结果就是0

回答2:

结果是1;
(x+y)%2=1这个不用说了,都是整形操作,没有问题
(int)a/(int)b =0为什么呢?(int)a,(int)b已经强行把float型转换成int型,系统将将调用/运算的整形形式,所以得到的结果也会取整,所以为0

回答3:

前面的是1,后面的是0,所以答案就是1了

回答4:

如果是C语言的话,为1吧

回答5:

1