C语言:已有声明int x=5,y;float z=2;,则下列表达式正确的是A:y=x%zB:x>0?y=x:y=-xC.y=x/2=zD.y=x=z/2我觉得每个都对啊,为什么只有D是对的?
来源:学生作业帮助网 编辑:作业帮 时间:2024/08/03 07:10:29
xRn@.8KAmCJUOn ` X!l1YOBg픖kK^ξyfr&sGAohπ1ldPxNF
tx
l`.u>GěF|kdRDPAB{1MЖtosZ[OiA,s]s?n;h^Cd M7k=tGP"J'$jhd6|X%&=
nH`8dڒxRK|7ݾR1=p|!
N{M.s
aԁ](>Itf,=0uC)\ïxz9,VbO{2k7V
DN[)L<%LMi""l,8T9liMXM)#gT!TDCHFh4\77t
C语言:已有声明int x=5,y;float z=2;,则下列表达式正确的是A:y=x%zB:x>0?y=x:y=-xC.y=x/2=zD.y=x=z/2我觉得每个都对啊,为什么只有D是对的?
C语言:已有声明int x=5,y;float z=2;,则下列表达式正确的是
A:y=x%z
B:x>0?y=x:y=-x
C.y=x/2=z
D.y=x=z/2
我觉得每个都对啊,为什么只有D是对的?
C语言:已有声明int x=5,y;float z=2;,则下列表达式正确的是A:y=x%zB:x>0?y=x:y=-xC.y=x/2=zD.y=x=z/2我觉得每个都对啊,为什么只有D是对的?
我对你题目及问题分析下,不对之处还清指出:
A:是求余,所以Z不能是小数,虽然z貌似是等于2,但是在定义的时候z是float内容,编译器会议float的存储方式储存,所以属于小数.
B:正确格式为:x > 0 ? (y = x):(y = -x);
C:从左至右开始计算,y = x / 2 再 x/2 = z;后面的部分出错了,x/2 = 2,2 = z,好像是对的,不过常量不能作为左值,所以错误.
D:就不说了,你都知道D是对的了.