在网上看到一个笔试/面试题:
任意输入两个整型数,不准用if 、switch 、?:等判断语句,求出两者的最大值,说出你的思路,能写出代码更好。
我的代码如下:
- #include <stdio.h>
-
int main(int argc, char*argv[])
-
{
-
int a[2];
-
long s;
-
-
while(1){
-
printf("input two number:");
-
scanf("%d %d", &a[0], &a[1]);
-
s = (long)a[0] - (long)a[1];
-
printf("The larger on is :%d\n", a[ !(s>0)]);
-
}
-
}
使用long的理由:防止两个int类型的数据运算时结果超过int类型的最大值而溢出。
阅读(595) | 评论(0) | 转发(0) |