对于19楼的问题,我想两个整形数据相除,小的除以大的,结果是0。所以得到了上面的结果。
该学习了。。。
首先这个表达式的运算过程为: x + ((((a%3)*(int)(x+y))%2)/4)
((a%3)*(int)(x+y))%2 也就是 a%3*(int)(x+y)%2 的计算结果为1,
按照向0靠近的原则(常见计算机都是),1整除4 的结果为0。所以最后结果为2.5
如果要得到2.75,则要将表达式改为 x+a%3*(int)(x+y)%2/4.0 ,
1除以4.0结果为0.25,然后在控制格式输出为小数部分输出两位就可以了。
[此贴子已经被作者于2006-10-30 17:29:29编辑过]