c语言中宏定义中void,C语言中宏定义几道问题!

C语言中宏定义几道问题!

答案:1  信息版本:手机版

解决时间 2020-04-27 20:44

已解决

2020-04-27 17:15

一 执行下列程序:

#define MA(x,y) (x*y)

k=5;

k=MA(k,k+1)-7;

变量k的值应为

A 30 B 19 C 23 D 1

二 宏定义 “#define DIV(a,b) a/b” 经DIV(x+5,y-5) 引用,替换展开后是

A x+5/y-5 B (x+5/y-5) C (x+5)/(y-5) D (x+5)/(y-5);

三 定义带参数的宏"#define JH(a,b,t)t = a; a=b; b=t", 对两个参数a,b的值进行交换,下列表述中正确的是

A 不定义参数a和b将导致编译错误 B 不定义参数a,b,t将导致编译错误

C 不定义参数t将导致运行错误 D 不需要定义参数a,b,t类型

四 执行下面程序,正确的输出是

int x= 5, y=7;

void swap()

{

int z;

z=x; x=y; y=z;

}

int main(void)

{

int x=3,y=8;

swap();

printf("%d,%d\n",x,y);

return 0;

}

A 3, 8 B 8, 3 C 5, 7 D 7, 5

五 下面说法中正确的是

A.若全局变量仅在单个C文件中访问,则可以将这个变量修改为静态全局变量,以降低模块间的耦合度

B 若全局变量仅由单个函数访问,则可以将这个变量改为该函数的静态局部变量,以降低模块间的耦合度

C 设计和使用访问动态全局变量,静态全局变量,静态局部变量的函数时,需要考虑变量生存周期问题

D 静态全局变量使用过多,可能会导致动态存储区(推栈)溢出

全部回答

1楼

2020-04-27 17:35

你的理解是对的。

pr(d2,a,b);

代表:

printf("%d""%d""\n",a,b);

输出12,紧紧贴在一起了,printf("%d""%d""\n",a,b);输出也是可以的。

我要举报

如果感觉以上信息为低俗/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!

大家都在看

推荐资讯

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值