2103 : 程序改错 - 宏定义(二)

时间限制: 1 Sec 内存限制: 128 MB
题目描述
题目:最大值和最小值,四个整数a、b、c、d,求a的低四位和b的低四位中的最大值与c、d中最小值的乘积
输入:多组数据,每组数据四个整数a、b、c、d
输出:对每组数据输出计算出的乘积,每组数据一行
代码如下,请修正后提交

#include <stdio.h>
#define max(a,b) a > b ? a : b
#define min(a,b) a < b ? a : b
int main() {int a,b,c,d,e;while(scanf("%d%d%d%d",&a,&b,&c,&d) != EOF) {printf("%d\n",max(a&0xF,b&0xF)*min(c,d));}return 0;

输入
多组数据,每组数据四个整数a、b、c、d

输出
对每组数据输出计算出的乘积,每组数据一行

样例输入
1 2 3 4
样例输出
6
提示
来源
ajeyone

#include <stdio.h>
#define max(a,b) a > b ? a : b
#define min(a,b) a < b ? a : b
int main()
{int a,b,c,d,e;while(scanf("%d%d%d%d",&a,&b,&c,&d) != EOF){printf("%d\n",(max((a&0x8f),(b&0xf)))*(min(c,d)));}return 0;
}

宏定义在使用时是代码块的替换
如:define sum(a,b) a+b
那么sum(a,b)*c 实际上就是 a+b*c
而不是(a+b)*c
所以这个题目在输出的时候要注意使用括号来保证运算的优先级

北化oj 2103-程序改错 - 宏定义(二)相关推荐

  1. c程序语言符号的作用,c语言宏定义中的#,##,#@及\符号的作用

    1.#(stringizing)字符串化操作符 作用:将宏定义中的传入参数名转换成用一对双引号括起来参数名字符串.其只能用于有传入参数的宏定   义中,且必须置于宏定义体中的参数名前. 如: #def ...

  2. C宏定义中## 和# 的含义

    1. #的作用是将宏参数字符串化, 例如下面的宏定义 #define STR( s ) #s 那么在程序中 printf("The string is %s/n", STR(OPE ...

  3. C++之预处理命令以及宏定义

    在C++源程序中允许用一个标识符来代表一个字符文本,称为宏,表示符为宏名 宏是由宏定义命令事先定义的.预处理时,对程序中所有后续的宏名实例(称为宏引用),预处理器都用字符文本去替换,称为宏替换或宏展开 ...

  4. 宏定义中的 ## ... __VA_ARGS__

    宏定义中的##操作符和... and _ _VA_ARGS_ _ 1.Preprocessor Glue: The ## Operator 预处理连接符:##操作符 Like the # operat ...

  5. c语言宏定义_掌握C语言,中文编程不是梦

    文/Edward 前面我们在讲节程序编译的时候,编译器做的第一步就是预处理.C语言的预处理,其实是编译器在对整个工程编译之前做的一些文本性质的工作,例如我们经常使用的#include,这就是一个典型的 ...

  6. C/C++中 宏定义字符串 操作

    关于记号粘贴操作符(token paste operator): ## 1. 简单的说,"##"是一种分隔连接方式,它的作用是先分隔,然后进行强制连接. 其中,分隔的作用类似于空格 ...

  7. 【C语言】宏定义(不带参数的宏定义和带参数的宏定义)

    目录 一.不带参数的宏定义 1.定义 2.#undef 指令取消宏定义 二.带参数的宏定义 1.定义 2.宏定义参数替换的注意事项 三.带参数的宏定义和带参函数的区别 一.不带参数的宏定义 1.定义 ...

  8. Proteus仿真STM32F103R6的寄存器版跑马灯程序(存储器宏定义)

    跑马灯程序,存储器映像.用宏定义,增强程序的可读性.. 头文件: #ifndef __STM32F10x_H #define __STM32F10x_H#define PERIPH_BASE (0X4 ...

  9. 单片机\程序中的那些宏定义

    1.字符串的数据长度,用sizeof求数据长度并用宏定义表示 uint8_t  buf[]="Hello,I am STM32\r\n"; 求字符串数组buf的数据长度: uint ...

  10. 马化腾、李彦宏、雷军,程序员国服三强谁的编程能力最牛?

    点击上方"CSDN",选择"置顶公众号" 关键时刻,第一时间送达! 他们,曾是勤勤恳恳的程序员 江湖中依然流传着他们如诗一般的代码 他们多才多艺 有的精通饶舌 ...

最新文章

  1. 随手拈来尽是折劲额事体
  2. 整理了近500篇的AI论文,我发现了一个问题……
  3. 走进深度学习:一文带你深入了解Deep Learning算法
  4. 【PHP】微信官方代码Log调试输出类,面向对象设计模式!来看看,你会有收益!...
  5. flutter 卡顿_Flutter WebView 卡顿问题
  6. 携程是如何把大数据用于实时风控的
  7. substring not found什么意思_英文写作中,除了not,你还会其他否定表达吗?
  8. python中sys模块是什么意思_python之sys模块详解
  9. win10怎么在网络里查看win7计算机,网络共享中win7能找到win10,但win10找不到win7
  10. 使用pkg打包编译nodejs程序,手动设置缓存内容
  11. SAP License:成本要素的拉入拉出
  12. Scikit-learn快速入门教程和实例(一)(二)
  13. 按3倍中误差去除粗差(C++)
  14. 实验:windows密码破解
  15. 历史上最“好”的皇帝--宋仁宗
  16. Unity Shader - Specular mode: Specular parameter 高光模式中的高光参数
  17. python opencv 截取矩形区域_python+OpenCV 鼠标交互图片切割矩形区域
  18. deepin深度操作系统
  19. ITSM软件与工单系统的区别是什么?
  20. Object-C使用ICE

热门文章

  1. 如何用运营思维找到自己的另一半
  2. cocos2dx 多人小游戏时间同步问题(简单版)
  3. [罗辑思维微信]怎样炼成世界级高手
  4. oracle 10g透明网关,安装oracle 10g的透明网关笔记
  5. 天梯赛L3-015 球队“食物链”(状态压缩、记忆化搜索)
  6. 【NOIP2014模拟10.25A组】钻石交易
  7. 合并音频的工具叫什么?快来试试这几个合并工具
  8. java计算机毕业设计校园失物招领管理系统源程序+mysql+系统+lw文档+远程调试
  9. 【毕业设计/课程设计】基于SSM的进销存管理系统设计与实现(源码+文章) Java | JSP | MVC | Web
  10. Go 学习笔记-切片