欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

宏定义,定义一个宏比较两个数的大小

程序员文章站 2024-03-22 11:20:40
...
 #include<stdio.h>
 #include<math.h>
 #define charck(a,b)   (((a)-(b))==fabs((a)-(b)))?printf("a>b"):printf("a<b")
int main(void)
{
    int a,b;
    scanf("%d %d",&a,&b);
    charck(a,b);    
 } 

特别注意:上面的宏定义每个变量都要加小括号,因为宏定义在预编译即预处理时只是进行简单的替换,举例如下:
#define a(x,y) x+y

x=2+1;
y=4+5;
本来你用a(x,y)想要的结果是: (2+1)*(4+5) 为27
而实际在预编译即预处理时只是进行简单的替换,结果为:
2+1*4+5 为11