int x=1,y=2 ; float z;z=x/y;为什么z=0

如题所述

因为,x和y均为整型!整型相除得到的还是整型!所以1/2=0.5,取整以后是0,最后再把0赋值给z,所以z=0啦!
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-12-27
x,y均为整型,x/y的结果就是整型,0.5向0取整就为0;
可以改成:z=(float)x/y,这样z就等于0.5
第2个回答  2012-12-27
因为两个整形相除规定任然为一个整形,所以为0,正确写法可以写z = x * 0.1 / y把整个运算的运算级到小数级别就行了

int x=1,y=2 ; float z;z=x\/y;为什么z=0
因为,x和y均为整型!整型相除得到的还是整型!所以1\/2=0.5,取整以后是0,最后再把0赋值给z,所以z=0啦!

执行下面程序段后,2值为( )。 int x=1,y=2,z=3; z=z (float)(x y);
【答案】:A 本题考查Java的运算和类型转换。题目中变量X、y、z是int类型,由于括号的优先级要高,所以语句(float)(x\/y)的结果为0.0,分母已经成为0,编译肯定无法通过。另外,由于z是int型,不能将float型强制转化为int型。

设int X=1,float Y=2,则表达X\/Y的值是多少
x是int的,y是float,类型等权float高于int 故x\/y=(int)1\/(float)2.0变成了 x\/y= (float)1.0\/(float)2.0=0.5 (float类型的)(如果y是int的,那么x\/y就是0)

设int x=1 float y=2,则x\/y=多少
0.500000 因为X为整数形,Y为浮点形。Y的位数比X要大,X\/Y会被强制为浮点形、

int x=1 y=2 z;执行z=X>Y||X&&Y求z的值 求详解
首先说一下运算符的优先级:从高到低排列为 1大于 “>”;2相与 “&&”;3相或“||”,4等于“=”。故z=x>y||x&&y 等价于 z=(x>y)|| (x&&y);因为X小于Y,及前一部分为0;又因为X、Y都大于0(C语言看做为真),故后一部分为真,再两部分相或(有一部分为真就为真),故结果...

14、已知:int x=1,y=2,z=0,则执行z=y>x?(10+x,10-x):(20+y,20-y)后...
z=9,x,y不变,因为:(y = 2)> (x = 1),所以:z = (10+x,10-x) = (11,9),又因为:逗号表达式取最右端值,所以:z = 9;

设有定义int x=1,y=2,z=3;执行下列程序后,输出结果是if(x>y)z=x,x...
if(x > y)后面如果没有{}的话,他能管紧挨着他的一条语句,z = x;这条语句是在归if管的,相当于 if(x > y) { z = x;} x = y;y = z;

已知:int x=1,y=2,z;,则执行语句z=x>y?x++:y--后,变量z的值_百度知 ...
include<stdio.h> main(){int x=1,y=2,z;z=x>y?x++:y--;printf("%d %d",z,y);} x>y,则z=x++否则z=y--表达式y--的值先取y值作为表达式的值,即z=2.再y值减1

...的结果为(     ) int x=1; int y=2; if(x%2==0...
运行结果是y=1。

有定义int x=1,y=2,z=3;,执行下列程序if(x>y)z=x;x=y;y=z;printf(%d...
3,解释程序:if(x > y) z = x;到这里if'语句的作用范围便已经结束了,并没有将z = x ; x = y ; y = z;三条语句全部包括,因为if语句后面没有用花括号来标明作用域,所以程序自动从第一个分号开始判断。而x = 1,y = 2,不满足if条件,所以第一个z = x不会执行;直接执行...

相似回答