黑马程序员技术交流社区
标题:
后面的max与C为交换为什么就不能求出最大的值了?
[打印本页]
作者:
叮当
时间:
2014-9-4 20:27
标题:
后面的max与C为交换为什么就不能求出最大的值了?
本帖最后由 叮当 于 2014-9-11 20:33 编辑
后面的max与C为交换为什么就不能求出最大的值了?
屏幕快照 2014-09-04 14.35.16.png
(26.16 KB, 下载次数: 111)
下载附件
2014-9-4 20:24 上传
为什么不能那样写
作者:
王绍明
时间:
2014-9-4 20:44
int dmx=max>c?c:max;三目运算,如果这样写,max>c是正确的则返回c,我们要求的是最大值,显然c不是最大值,int dmx=max>c?max:c;这个顺序写的话,所求的结果就对了。这应该是三目运算的书写顺序,这样写也行int dmx=c>max?c:max; 只是一个书写顺序问题!
作者:
小月格子猫
时间:
2014-9-4 21:12
1 你用的是三目运算 (条件) ? (数值1) :(数值2);
1 如果条件成立,输出数值1
2 条件不成立,输出数值2
2 int a =100,b= 150,c = 200;
int dmx = max > c ? max : c
1 其中max > c 是条件 ,如果成立 就输出max ,如果不成立就输出c
2 如果max > c ,成立的话,就说明max就比c 大了,如果你max与c调换了位置,那样就算成立了,输出c,输出的值是最大值吗??? ,把小的输出来了把
作者:
___________H
时间:
2014-9-7 11:45
你还没搞懂三目运算符的格式。 ?号前面条件成立 输出冒号前面的,不成立输出冒号后面的
作者:
zhuiyi007
时间:
2014-9-9 09:45
max>c ? max : c 意思是max>c成立的话,输出max,否则输出c
作者:
陨石
时间:
2014-9-9 09:48
优先级不对
作者:
徐闯楠
时间:
2014-9-9 10:40
楼上都是正解啊
作者:
keep_flying
时间:
2014-9-27 15:18
修改代码
int max;
a>b?max=a :max=b ;
max>c?max:max=c ;
printf("max=%d ",max );
作者:
flypig
时间:
2014-9-27 15:41
注意细节,细节很重要
作者:
★彬★卍囧神
时间:
2014-9-27 17:37
三木运算
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2