黑马程序员技术交流社区

标题: 一行容易出错的代码,求分析出错原因!!! [打印本页]

作者: 流觞曲水    时间: 2015-8-27 22:40
标题: 一行容易出错的代码,求分析出错原因!!!
int a=3, b=5;
int sum;
sum=a>b?a=a-b:b=b-a; //这句代码有问题,但不知哪里出错,求指教。。。
作者: 哈皮哈皮doge    时间: 2015-8-27 23:08
  1. sum=a>b?(a=a-b):(b=b-a);
复制代码

这样改一下就没错了
作者: 921    时间: 2015-8-27 23:14
你改成sum=a>b?a-b:b-a; 不也一样么?
作者: MilesMatheson    时间: 2015-8-27 23:23
如一楼所述,那样改就好了;
作者: BG6FVG    时间: 2015-8-27 23:24
后面要有括号的在分号两边都有
作者: 在唱歌    时间: 2015-8-27 23:26
没错的,要加括号。。更好看一点。
作者: 李玉    时间: 2015-8-27 23:29
最好避免这样写,可读性不好。加上括号吧
作者: 我爱国    时间: 2015-8-27 23:44
我是新手求解释
作者: 流觞曲水    时间: 2015-8-28 19:56
哈皮哈皮doge 发表于 2015-8-27 23:08
这样改一下就没错了

我知道加上()后就OK了
作者: 流觞曲水    时间: 2015-8-28 19:59
哈皮哈皮doge 发表于 2015-8-27 23:08
这样改一下就没错了

谢谢,我知道加上()就行了,但我想了解的是这样写它为什么会出错?
作者: 流觞曲水    时间: 2015-8-28 20:00
921 发表于 2015-8-27 23:14
你改成sum=a>b?a-b:b-a; 不也一样么?

结果的确一样!!!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2