解题思路:
要利用#define N(参数,参数) t=a,a=b,b=t //a+=b,b=a-b,a=a-b
恒定义编译时将N(a,b)替换掉,所以 t要定义,可以在define中调用也可以在调用处定义
此处要将恒定义但独占一行
注意事项:
恒定义的 ;问题
如果定义时有分号在后面可以不写,否则写
参考代码:
#include<stdio.h>
#define N(a,b) b,a //在输出前int t=a,a=b,b=t; //a+=b,b=a-b,a=a-b;
int main(){
int a,b;
while(~scanf("%d%d",&a,&b)){
printf("%d %d",N(a,b));
}
}
0.0分
0 人评分
C语言中的宏允许带有参数,包含形参和实参,在宏定义中的参数称为形式参数,在宏调用中的参数称为实际参数,无参宏的宏名后不带参数,其定义的一般形式为: #define 标识符 字符串; 例如#define m a*b; 其中a*b的值就是m,在主函数中m就是调用a*b; 带参宏定义的一般形式为: #define 宏名(形参表) 字符串; 在字符串中含有各个形参。 带参宏调用的一般形式为: #define y(a,b) t=a,a=b,b=t; 宏名(实参表),其中a,b就是实参,通过在主函数中输入,然后通过宏定义的预处理,也就是后面的字符串(t=a,a=b,b=t)来运算,在主函数中得到调用。
C语言训练-舍罕王的失算 (C++代码)(都给答案了还算什么)浏览:989 |
点我有惊喜!你懂得!浏览:1377 |
C语言训练-求矩阵的两对角线上的元素之和 (C语言代码)浏览:3444 |
IP判断 (C语言代码)浏览:811 |
C语言程序设计教程(第三版)课后习题9.6 (C语言代码)浏览:590 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:572 |
简单的a+b (C语言代码)浏览:1017 |
C语言程序设计教程(第三版)课后习题12.1 (C语言代码)浏览:682 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:528 |
C语言程序设计教程(第三版)课后习题8.1 (C语言代码)浏览:599 |