C语言题目,跪求大神

5.定义带参数的宏“#defineJH(a,b,t)t=a;a=b;b=t”,对两个参数a、b的值进行交换,下列表述中哪个是正确的C。A.不定义参数a和b将导致编译错误B... 5.定义带参数的宏“#define JH(a,b,t) t = a; a = b; b = t”,对两个参数a、b 的值进行交换,下列表述中哪个是正确的 C 。
A.不定义参数a 和b 将导致编译错误 B.不定义参数a、b、t 将导致编译错误
C.不定义参数t 将导致运行错误 D.不需要定义参数a、b、t 类型
展开
 我来答
麥芒苗子
2013-06-14
知道答主
回答量:21
采纳率:0%
帮助的人:10万
展开全部
可以先了解一下宏是什么
是一个预编译阶段,编译器做的事儿.
编译器会将对应的符号替换成对应的实际字符.

另外这个宏本身定义不安全;
建议阅读《C编程语言》

题意有点混淆,实际的变量a,b 和宏JH中的a,b根本没有任何关系
答案应该是D
宏的定义不需要约束参数类型.
int a=2;

int b=3;
int c=5;
JH(a,b,c)
调用正常,这样算不算已经定义了t?
sswenxh2006
2013-06-15
知道答主
回答量:43
采纳率:0%
帮助的人:23.9万
展开全部
答案为:d
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2013-06-14
知道答主
回答量:85
采纳率:0%
帮助的人:25.2万
展开全部
好简单答案选b
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式