威虎战机多少关:一道很有意思的c面试题
来源:百度文库 编辑:中财网 时间:2024/10/06 02:49:17
求较小的值,不能用 比较运算符 if-else ?: while for 内嵌汇编 递归 第三方函数
int Min(int a, int b)
{
//write code here
为什么,你可以自己试试,需要注意的是,因为临时变量a,b都在函数的栈上,所以a,b的地址是连续的
int Min(int a, int b)
{
//write code here
}
我给的回复是
- #include
- // 要求写的函数
- 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的地址是连续的