C语言 您所在的位置:网站首页 用abc表示三个自然数如果a是b的倍数 C语言

C语言

2024-07-17 07:44| 来源: 网络整理| 查看: 265

刚开始学习C语言的时候,我们可能会用 if 语句进行求解,具体如下

#include int main() { int a,b,c; //声明 int max; printf("请按顺序输入三个数:"); scanf("%d %d %d",&a,&b,&c); //输入 /* 比较a、b、c的大小*/ if(a > b) max = a; else max = b; if(max < c) max = c; printf("在%d、%d、%d三个数中,最大的数是%d\n",a,b,c,max); }

但是我们可以想一想,是否可以进行优化呢?

于是,就有了下面的一段

#include int main() { int a,b,c; int max; printf("请按顺序输入三个数:"); scanf("%d %d %d",&a,&b,&c); max = a > b ? a : b; if(max < c) max = c; printf("在%d、%d、%d三个数中,最大的数是%d\n",a,b,c,max); }

我们可以看到,将a、b的比较利用条件运算符的表达式进行了优化,那是否还可以进一步优化呢?

就像a、b比较大小的过程一样

这时候可以想到一个新的概念,宏定义

宏定义可以做什么呢?

它的定义是,根据一系列预定义的规则替换一定的文本模式。

也就是说,可以根据定义的规则进行完全替换

#define N 2 //将N替换为2

当然啦,宏定义还可以这么用

#define fun(a,b) (a>b ? a : b)

如此一来,大家都知道该怎么继续优化了吧!

#include #define MAX (a > b ? a : b) int main() { int a,b,c; printf("请按顺序输入三个数:"); scanf("%d %d %d",&a,&b,&c); printf("max = %d\n",MAX > c ? MAX: c); return 0; }

完成啦!



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有