C语言常用面试题 第二阶段
1.请定义一个宏,比较两个数的大小,不能使用大于、小于、if语句。#define MAX(A,B) (((A)-(B)) >> 31 ? (B) : (A)) //注意三目运算符的原理。说明:利用变量为负数时最高位为负数的原理,实现了MAX宏。例如: unsigned char a,y; x = 89; y = 56;(1)printf("val = %d\n",(y-x) >> 31); //结果为:-1 : MAX(Y,X)(2)printf("val
原创
2020-05-09 17:12:25 ·
244 阅读 ·
0 评论