x+a%3*int(x+y)%2/4

时间:2021-09-08 12:51:52
x+a%3*int(x+y)%2/4 设X=2.5,A=7,Y=4.7,结果怎么是2呀? 郁闷!

12 个解决方案

#1


2.5 + 7%3*7%2/4
= 2.5 + 1*7%2/4
= 2.5 + 1/4
= 2.5 + 0
= 2.5

#2


谢谢周星星,买票找我.

#3


不对啊,我运行了结果真的是2

#4


有可能是这样的 整形的运算。最后得到的是被截断的整形。

#5


看看你的结果是什么类型的,或者显示的时候是什么格式

#6


用意楼上的观点

#7


不对啊,我运行了结果真的是2
`~`~`~`~`~`~`~`~`~`~
是不是把求解结果赋值给int变量了?

#8


x+a%3*int(x+y)%2/4 
设X=2.5,A=7,Y=4.7

x+a%3*int(x+y)%2/4 
2.5 + 7%3*int(2.5+4.7)%2/4
2.5 + int(7.2)%2/4
2.5 + 1/4
2.5

可能是你将表达式的值赋给了一个整型变量造成了丢失小数从而输出2

#9


这是潭浩强《c语言》中的一道课后习题啊!

#10


是啊,你是怎么知道的啊,不会做呀,

#11


我学的是C ++语言,现在学

#12


x+a%3*int(x+y)%2/4 设X=2.5,A=7,Y=4.7

# include <stdio.h>
# include <math.h>
main()
{
float x,y,t;
int a;
a=7;x=2.5;y=4.7;
t=x+a%3*int(x+y)%2/4;
printf("%f",t);
}
注意 打印的格式是float 不是int


}

#1


2.5 + 7%3*7%2/4
= 2.5 + 1*7%2/4
= 2.5 + 1/4
= 2.5 + 0
= 2.5

#2


谢谢周星星,买票找我.

#3


不对啊,我运行了结果真的是2

#4


有可能是这样的 整形的运算。最后得到的是被截断的整形。

#5


看看你的结果是什么类型的,或者显示的时候是什么格式

#6


用意楼上的观点

#7


不对啊,我运行了结果真的是2
`~`~`~`~`~`~`~`~`~`~
是不是把求解结果赋值给int变量了?

#8


x+a%3*int(x+y)%2/4 
设X=2.5,A=7,Y=4.7

x+a%3*int(x+y)%2/4 
2.5 + 7%3*int(2.5+4.7)%2/4
2.5 + int(7.2)%2/4
2.5 + 1/4
2.5

可能是你将表达式的值赋给了一个整型变量造成了丢失小数从而输出2

#9


这是潭浩强《c语言》中的一道课后习题啊!

#10


是啊,你是怎么知道的啊,不会做呀,

#11


我学的是C ++语言,现在学

#12


x+a%3*int(x+y)%2/4 设X=2.5,A=7,Y=4.7

# include <stdio.h>
# include <math.h>
main()
{
float x,y,t;
int a;
a=7;x=2.5;y=4.7;
t=x+a%3*int(x+y)%2/4;
printf("%f",t);
}
注意 打印的格式是float 不是int


}