nynw.net
当前位置:首页 >> FloAt x; x=1+1%3*5/2; printF("%.2F",x);输出结果... >>

FloAt x; x=1+1%3*5/2; printF("%.2F",x);输出结果...

由于整数运算的结果仍是整数,所以,1+1%3*5/2=1+1*5/2==1+5/2=1+2=3 3赋值给x时自动转换为3.0 所以输出结果为3.00

输出6,++优先级高,先算++,这是就看前++和后++了,前++是先加再付值给x再参加计算,后加是先计算再自加,最后y=3*2=6

楼主您好,不是不用算1/2.而是C语言中规定除号两边若都为整数,则相处结果只保留整数部分。1/2=0.5,舍去小数部分,就等于0。 没有疑问请采纳,如有疑问请追问,谢谢!

这是小数第4位四舍五入算法。 (x *1000+0.5)-- x 移动3 位小数,加0.5,也就是小数第4位加5,若这位大于等于5,则进1到个位。 5.16894 * 1000 -〉5168.94 +0.5 -> 5169.44 接下来: (int)(x *1000+0.5)取整变 5169 5169 /(double)1000)-...

第一个是因为3/2是两个整数的商,也是一个整数,所以就等于1(小数部分丢弃了)。 第二个是因为1.0/2=0.5,但是“%.lf"格式符指定输出0位小数,所以小数部分四舍五入,就也是1了。

main() { int x=3,y=5; float z; z=x/y+y%x; printf("z=%f",z); }类型错了。在输出时,因该为%f 如果按照你写的 将会是int型的,会得到0.

要是说这是C语言的程序,该有空格,;的很多都少了 main() {int m=7,n=4; float a=38.4,b=6.4,x; x=m/2+n*a/b+1/2; printf("%f\n",x); } 整型 m=7,n=4 浮点型 a=38.4 b=6.4 x也是浮点型 x=m/2+n*a/b+1/2 其中m是整型,m/2=3 n*a/b=24,其中n虽...

我给你说下你的问题: 5/3不对!!!算术具有封闭性!!!这个是整型相除,你的结果是float的,所以结果会显示错误。

z=9/2+2*x/y+1/2 = 4+2*x/1.1+0 = 16.00 x=6.6 另外,这个float类型本来就是近似存储,这样的题目太有意思了, 如果我填写 x=6.600000003不知道对不对哦??

这种算式没有意义,该题考查的是优先级的问题,但是在实际中程序员都会用括号表示出优先级,提高程序的阅读性

网站首页 | 网站地图
All rights reserved Powered by www.nynw.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com