分类：电脑/网络-程序设计
问题：c语言问题:谁能用单路if语句编写3个整数比较大小(注意:单路)? 
一定要是单路的
连else都不能出现
回答：first=a>b?a:b;first=first>c?first:c;last=a<b?a:b;last=last<c?last:c;if(((=a)!=first&&(mid=a)!=last)||((mid=b)!=first&&(mid=b)!=last)||((mid=c)!=first&&(mid=c)!=last))printf("%d%d%d",first,mid,last);我的答案好像比出题人更变态解释一下：首先是找出最大的数和最小的数，然后在if语句里找中间的那个数到底是谁，利用的是||语句只要执行到一个为TURE的时候就不再向下执行了。如果说我用?:表达式是有取巧之嫌，那么你可以在if里写入六个||，形如：if(((first=a)>b&&(first>c)&&(mid=b)>c)&&last=c||((first=b)>a&&first>c&&(mid=a)>c&&last=c||......)这样的||连接的语句一共要写六条（好长啊！），分别列出六种可能情况，道理和上面说的差不多这样的程序太变态了，只是一时想起来了，就写出来了，你也帮忙验证一下啊。