C编程宏定义函数该如何修改?

2019-07-14 14:58发布

那么该如何修改呢?
不希望写成函数形式的,写成宏定义形式的比较好。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
胡德胜快回答
1楼-- · 2019-07-14 21:37
TOPCB
2楼-- · 2019-07-14 23:15
 精彩回答 2  元偷偷看……
60user36
3楼-- · 2019-07-15 03:31
绝对地址赋值,如何?
TOPCB
4楼-- · 2019-07-15 05:18
这样改一下:  #define Pick(a,A,B)   (a)?(A)B)
60user1
5楼-- · 2019-07-15 05:45
本帖最后由 xiajintaord 于 2018-6-28 11:26 编辑

所以,楼主希望 条件运算符给你返回一个变量?或者说是一块地址,让你去赋值?
山川1998
6楼-- · 2019-07-15 08:29
胡德胜快回答 发表于 2018-12-26 09:07

本帖最后由 与龙共舞 于 2018-6-28 13:42 编辑

跪谢  搞C这么久 还不知道这个知识 太犀利了
  1 #include<stdio.h>
  2 int A,B,C;
  3 #define Pick_0 A
  4 #define Pick_1 B        
  5 //#define Pick(a)   (a)?Pick_1ick_0   ------这是不行的!
  6 #define Pick(a)      Pick_##a  ------------------成功!
  7       void main()
  8       {
  9        printf("%d %d %d ",A,B,C);
10        Pick(1)=1;
11
12        printf("%d %d %d ",A,B,C);
13       }
14
我真的是第一次看到这个做法  转义 的             #define Pick(a)      Pick_##a  可以
             #define Pick(a)      Pick_(a)不行   

一周热门 更多>