c语言和java赋值的区别 a=b+(a=b)*0上面这个式子在java中可以实现两数的交换(不考虑越界,且只考虑整型),但是在c语言中却不行,有高手 能讲一讲为什么吗?详细一点,谢谢。。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 上面式子打错了 a=b+(b=a)*0 没具体测试过这个问题,我猜应该是c与java对于表达式中各个变量的入栈顺序不一样,可能一个是从左至右,一个从右至左。我仅仅是猜的,没有实际测试,你可以实际测试一下。 如果在c中a=b+(b=a)*0这样写不行,那你改成a=(b=a)*0+b试试呢,把加好两边对调一下看看。 这种硬要用一个表达式来做,没啥意义,其实c一个表达式也是可以做到的啊。如下面这个表达式就可以(a=a+b)+(b=a-b)+(a=a-b); a=b+(b=a)*0 我比较怀疑,不同的c编辑器下,是不是同一个结果。 String 的问题 junit几个方法的运行先后顺序 面试题 请问java中有没有将字符串转换成数字的函数? 简单,白拿分(50分,弯个腰就有了) JRun3.0的注册码 帮我一把吧:怎么在applet下载服务器上的文件? Java有没有办法实现不能中断的操作? 分分分!专家的命根!小虾送分!请问专家:我怎么将数据库中的数据用jTextfield 显示出呢??给一点代码把????? jbuilder3中文件对话框的SAVE是怎么回事,请指教 Sql server连接数据库,用新的登陆名读取不了旧登陆名的数据库 mysql 新jdbc驱动连接出错,求救
a=b+(b=a)*0
如下面这个表达式就可以
(a=a+b)+(b=a-b)+(a=a-b);
我比较怀疑,不同的c编辑器下,是不是同一个结果。