逻辑错误,并且你的用例也反映了这个错误 如a=3 b=-3 并且3为最大绝对值时,你的第一个判断却会跳过, if(d==-a) 在本题的含义是 如果a的绝对值最大,且为负数 才会判断最大在a为正数的前提下,若b,c出现相同绝对值的负数,就悲剧了。。
d=max(max(c,-c),max(max(b,-b),max(a,-a)));这句能编译过也挺神奇,明明你定义的两个参数,却兼容3个实参?考虑修改一下。