uq_87649339290


私信TA

用户名:uq_87649339290

访问量:225

签 名:

等  级
排  名 4880
经  验 1598
参赛次数 0
文章发表 9
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

TA的其他文章

解题思路:

要利用#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)来运算,在主函数中得到调用。
2023-12-23 21:41:19
  • «
  • 1
  • »