MrSix


私信TA

用户名:1658530280

访问量:153065

签 名:

等  级
排  名 16
经  验 20903
参赛次数 0
文章发表 23
年  龄 0
在职情况 学生
学  校 大连交通大学
专  业

  自我简介:

解题基础:


宏定义


答案

#include<stdio.h>
#define Y(a,b) t=a;a=b;b=t;//两数交换位置
int main(){
	int a,b,t;
	scanf("%d%d",&a,&b);
	Y(a,b)
	printf("%d %d",a,b);
	return 0;
}

注:宏定义是直接拿t=a;a=b;b=t;代替Y(a,b),实际上代码相当于

#include<stdio.h>
int main(){
	int a,b,t;
	scanf("%d%d",&a,&b);
	t=a;a=b;b=t;
	printf("%d %d",a,b);
	return 0;
}

所以Y(a,b)后面不带分号;,它不是一条语句而是一个代号(相当于y=x+1直接就可以拿y代x+1)

 

0.0分

1 人评分

  评论区

#include<stdio.h>
#define Y(a,b) t=a;a=b;b=t;
int main()
{
	int a,b,t;
	scanf("%d%d",&a,&b);
	Y(a,b)
	printf("%d %d",a,b);
	return 0;
}
2019-04-23 22:22:59
  • «
  • 1
  • »