C语言的一个菜鸟问题

来源:百度知道 编辑:UC知道 时间:2024/05/15 15:26:19
各位高手我是自学c的小菜菜,有个表达式不明白,请指点一下,a=1/2*x+20%3*(x=y)/16变量x=3.0 y=4(手机上网格式可能与电脑不同)

从左到右:1/2为整型除整型等于0,要等于0.5应该是1.0/2,所以1/2*x部分为0!
20%3*(x=y)/16:20%3=2(求余)再做X=Y=4.00000; 所以20%3*(x=y)部分等于8.00000;这部分为20%3*(x=y)/16=0.5;
如果你的a为整型 则 0.5 将强制转化为整型,即为0;
如果你的a为实型 则 a=0.5;

等式右边:1/2为0.5然后0.5乘以x即0.5乘以3.0等于1.5,然后1.5+20%3*(x=y)/16。20%3为20除以3的余数,结果为2。然后执行括号内地x=y,此时x=4.0,(x=y)这个表达式的结果为4.0。1.5+2*4.0/16=1.5+8.0/16=2。

这涉及到运算符的优先级,可以自己去查查,这样有利于自己记住!