一道很有意思的面试题

来源:互联网 发布:sqlserver 数据库设计 编辑:程序博客网 时间:2024/06/05 03:03
求较小的值,不能用 比较运算符 if-else ?: while for 内嵌汇编 递归 第三方函数
int Min(int a, int b)
{
  //write code here

}

我给的回复是

#include <stdio.h>// 要求写的函数int Min(int a, int b){return (&b)[(a-b)>>31];}// 测试代码int main(void){int a = 111;int b = 114;printf("The smaller one of %d and %d is %d\n", a, b, Min(a, b));return 0;}

为什么,你可以自己试试,需要注意的是,因为临时变量a,b都在函数的栈上,所以a,b的地址是连续的

原创粉丝点击