Chinaunix首页 | 论坛 | 博客
  • 博客访问: 768257
  • 博文数量: 199
  • 博客积分: 3584
  • 博客等级: 中校
  • 技术积分: 2193
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-12 21:18
文章分类

全部博文(199)

文章存档

2018年(6)

2013年(14)

2012年(30)

2011年(28)

2010年(24)

2009年(86)

2008年(11)

分类: C/C++

2011-10-25 14:56:43

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