变换最小值和最大值C语言,C语言宏函数

C语言宏函数教程

案例

C语言宏函数求最大值和最小值

定义 C 语言宏函数,实现求最大值和最小值

#include

#define MAX(x, y) (((x) > (y)) ? (x) : (y))

#define MIN(x, y) (((x) < (y)) ? (x) : (y))

int main(){

printf("嗨客网(www.haicoder.net)\n\n");

int x = 10;

int y = 30;

int max = MAX(x, y);

int min = MIN(x, y);

printf("Max = %d, Min = %d\n", max, min);

return 0;

}

程序运行后,控制台输出如下图所示:

6f21ea36f7ce00868e5e96b472a77124.png

我们首先定义了一个宏函数 MAX,该宏函数接受两个参数,返回这两个参数的最大值,接着,我们再次定义了一个宏函数,该函数接受两个参数, 返回两个参数的最小值。

最后,我们分别调用了这两个宏函数,求出了两个数中的最大值和最小值。

C语言宏函数字符转换

定义 C 语言宏函数,实现转换字符的大小写

#include

#define UPCASE(c) (((c) >= 'a' && (c) <= 'z') ? ((c) + 'A' - 'a') : (c))

#define LOCASE(c) (((c) >= 'A' && (c) <= 'Z') ? ((c) + 'a' - 'A') : (c))

int main(){

printf("嗨客网(www.haicoder.net)\n\n");

char ch1 = 'a';

char ch2 = 'B';

char upCh1 = UPCASE(ch1);

char loCh2 = LOCASE(ch2);

printf("ch1 = %c, ch2 = %c\n", ch1, ch2);

printf("upCh1 = %c, loCh2 = %c\n", upCh1, loCh2);

return 0;

}

程序运行后,控制台输出如下图所示:

54f2f0807282d65f4fe9855e0d74c8ec.png

我们首先定义了一个宏函数 UPCASE,该宏函数接受一个参数,返回这个参数的大写形式,接着,我们再次定义了一个宏函数,该函数接受一个参数, 返回这个参数的小写字符形式。

最后,我们分别调用了这两个宏函数,求出了两个字符的大写形式和小写形式。

C语言宏函数判断数字

定义 C 语言宏函数,实现判断字符是否是十进制数字

#include

#define ISDIGIT(c) ((c) >= '0' && (c) <= '9')

int main(){

printf("嗨客网(www.haicoder.net)\n\n");

char ch1 = 'a';

char ch2 = '8';

int isDigit1 = ISDIGIT(ch1);

int isDigit2 = ISDIGIT(ch2);

printf("isDigit1 = %d, isDigit2 = %d\n", isDigit1, isDigit2);

return 0;

}

程序运行后,控制台输出如下图所示:

f34eb1d7ddcbde8986235b3cbd41ecf8.png

我们定义了一个 ISDIGIT 宏函数,该宏函数接受一个参数,判断该参数是否是数字字符。

C语言宏函数返回数组个数

定义 C 语言宏函数,实现返回数组的元素个数

#include

#define ARR_SIZE(arr) (sizeof((arr)) / sizeof((arr[0])))

int main(){

printf("嗨客网(www.haicoder.net)\n\n");

char arr1[10];

int arr2[20];

int arrSize1 = ARR_SIZE(arr1);

int arrSize2 = ARR_SIZE(arr2);

printf("arrSize1 = %d, arrSize2 = %d\n", arrSize1, arrSize2);

return 0;

}

程序运行后,控制台输出如下图所示:

1d978b7025ac6c90d9d4ef40b7cc8c85.png

我们定义了一个 ARR_SIZE 宏函数,该宏函数接受一个参数,实现了计算

C语言宏函数教程总结

C 语言中的宏函数,也可以叫做带参数的宏, C 语言的宏函数跟普通函数类似,只不错是宏函数的参数没有类型。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值