题目描述

定义一个带参的宏,使两个参数的值互换,并写出程序,输入两个数作为使用宏时的实参。输出已交换后的两个值。

输入

两个数,空格隔开

输出

交换后的两个数,空格隔开

样例输入

1 2

样例输出

2 1

来源/分类

C语言

题目截图:

思路:

看到宏定义,一下子就蒙啦。只好去百度它的含义啦!
就是在定义宏那里直接写一个函数!
#define change(a,b) {a+=b;b=a-b;a=a-b;}
这个b=a-b 必须放在前面!要不然就会影响后面的计算!
先把两个数加在一起。减去b就会得到原来的a值,将这个数值赋值给b就好啦!
之后,他们的和减去b就是a啦。a已经被改变啦。所以a要放在最后来求出来!

代码:

#include <iostream>
using namespace std;
#define change(a,b) {a+=b;b=a-b;a=a-b;}
char a[10000];
int main()
{int x,y;cin>>x>>y;change(x,y);
cout<<x<<" "<<y;}

代码截图:

运行结果:

OJ结果:

ACMNO.30 C语言-宏交换 定义一个带参的宏,使两个参数的值互换,并写出程序,输入两个数作为使用宏时的实参。输出已交换后的两个值。相关推荐

  1. 定义一个带参带返回值的方法,实现输出随机数数组

    public class mains { public static void main(String[] args) { // 创建对象,对象名为hello mains hello = new ma ...

  2. [编程入门]带参数宏定义练习:定义一个带参的宏,使两个参数的值互换,并写出程序,输入两个数作为使用宏时的实参。输出已交换后的两个值。

    #include<bits/stdc++.h> #define fun(a,b) t=a;a=b;b=t; using namespace std;int main() {int a,b, ...

  3. 定义一个有参宏SWAP(t,x,y),用以交换t类型的两个参数的值

    <程序设计基础-c语言>杨莉 刘鸿翔 ISBN-978-7-03-032903-5 p241 习题7 11.定义一个有参宏SWAP(t,x,y),用以交换t类型的两个参数的值 #inclu ...

  4. 2、采用结构体数组编写程序,定义一个含职工姓名、工作年限、工资总额的结构体类型,从键盘输入5名职工的信息,最后再对工作年限超30年的职工加1000元工资,并输出工资变化后的所有职工的信息

    2.采用结构体数组编写程序,定义一个含职工姓名.工作年限.工资总额的结构体类型,从键盘输入5名职工的信息,最后再对工作年限超过30年的职工加1000元工资,并输出工资变化后的所有职工的信息(要求用下标 ...

  5. java语言编程三角形图形_编程题:编写程序输入三角形的3条边长,计算并输出... 求助一道JAVA编程题:编写一个类似记事本的图形用......

    导航:网站首页 > 编程题:编写程序输入三角形的3条边长,计算并输出... 求助一道JAVA编程题:编写一个类似记事本的图形用... 编程题:编写程序输入三角形的3条边长,计算并输出... 求助 ...

  6. 05c语言——宏定义、带参宏、带参宏函数

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一.宏定义 1.使用规则 2.注意 二.带参宏 1.定义 2.注意 三.带参函数 1.带参函数的宏与带参宏的区别 2.带参宏 ...

  7. 定义一个有参宏判断一个字符是否在0~9之间

    <程序设计基础-c语言>杨莉 刘鸿翔 ISBN-978-7-03-032903-5 p241 习题7 12.定义一个有参宏IS_DIGIT(ch),当ch是一个0~9的字符时,返回1,否则 ...

  8. 编程笔试(解析及代码实现):求不重复数字之和​​​​​​​给定一组整型数字,里面有且仅有两个数字值出现了一次,其他的数字都出现了两次。请写出程序求出这两个只出现了一次的数字之和

    编程笔试(解析及代码实现):求不重复数字之和给定一组整型数字,里面有且仅有两个数字值出现了一次,其他的数字都出现了两次.请写出程序求出这两个只出现了一次的数字之和 目录 题目描述 代码实现 题目描述 ...

  9. 设计两个个线程模拟存取款操作,其中一个线程每次随机存1~1000元钱,另外一个线程取1-1000元钱,如果余额不足,则取款失败,提示余额不足。写出程序(考虑并发问题)。

    设计两个个线程模拟存取款操作,其中一个线程每次随机存1~1000元钱, 另外一个线程取1-1000元钱,如果余额不足,则取款失败,提示余额不足. 写出程序(考虑并发问题). import java.u ...

最新文章

  1. odata连接现有数据库
  2. ios学习笔记block回调的应用(一个简单的例子)
  3. 编写自定义的AssertJ断言
  4. Android Binder 系统学习笔记(一)Binder系统的基本使用方法
  5. rageframe2 数据库配置_RF 微商城 一款基于 RageFrame2 的免费开源的基础销售功能的微商城...
  6. go java jsonrpc_使用golang 实现JSON-RPC2.0
  7. Docker安装并配置阿里云镜像加速
  8. 数据库系统工程师真题及详解(2015~2021)
  9. SSM框架原理以及流程
  10. 微信小程序地图定位开发教程
  11. Android 获取通话记录和短信内容
  12. 倪光南——世人笑我太疯癫,我笑他人看不穿
  13. 使用ONVIF Device Test Tool获取网络摄像头的音/视频
  14. 图形学/OpenGL/3D数学/Unity
  15. 云南大学计算机学院导师信息,云南大学软件学院研究生导师介绍:姚绍文(教授,博士生导师)...
  16. tm1650中文资料_TM1650+msp430单片机 调试及遇到问题的总结
  17. 计算机中各种进制之间的相互转换过程
  18. UCA-系统工程师学习-使用dpkg管理软件包
  19. 【word文档小标题】编号格式
  20. mysql数据库系统原理_数据库系统原理及MySQL应用教程

热门文章

  1. 想成为一个数据科学家却不知道从何下手?这份路线图带你打开数据科学大门!...
  2. 《评人工智能如何走向新阶段》后记(再续12)
  3. TensorFlow支持Unicode,中文NLP终于省心了
  4. AI一分钟 | 北京开放自动驾驶车辆路测道路105公里;阿里将人工智能引入时尚界...
  5. NLP公开课 | 竹间智能翁嘉颀:人机交互未来如何改变人类生活
  6. 干掉zookeeper:kafka里程碑式改进,牛逼!
  7. Java:new一个对象的过程中发生了什么?
  8. 微服务架构之「 容器技术 」
  9. MAT入门到精通(二)
  10. 麻省理工开放官方课程项目!