求较小的值,不能用 比较运算符 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 <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的地址是连续的