用户输入三个数字,比较三个数字大小,并按照从小到大的顺序输出。
老师给的答案如图,但是小弟怎么也想不明白,如果a,b或者c其中任意两个数字相等,代码怎么比较的。if总的判断条件不能成立啊,按理说应该不执行啊,但是最后结果却没有影响!求大神赐教
上图
用户输入三个数字,比较三个数字大小,并按照从小到大的顺序输出。
老师给的答案如图,但是小弟怎么也想不明白,如果a,b或者c其中任意两个数字相等,代码怎么比较的。if总的判断条件不能成立啊,按理说应该不执行啊,但是最后结果却没有影响!求大神赐教
上图
第一和第二个if相当于找到a,b,c里的最小,然后赋值给a,赋值完之后a的值并没有丢失,而是存放在了b或c中的某一个里;第三个if比较剩下的两个数,小的赋值给b,这样a,b,c的顺序就是从小到大了。
至于你说的如果有两个数相等,这种情况下程序保持他们原有的顺序不做改变。举个栗子,输入的a,b,c分别是3,3,2,那么第一个if条件不满足;第二个if满足,交换a和c之后,三个数为2,3,3,最后第三个if,b这时和c相等,不做交换,所以最后输出就是2,3,3啦!