C语言小嘎题

[复制链接]
查看11 | 回复3 | 2011-3-28 23:27:24 | 显示全部楼层 |阅读模式
设有以下宏定义:
1.#define WIDTH 80
#define LENGTH WIDTH+40
则执行赋值语句:v=LENGTH*20;(v为int型变量)后,v的值是?()
2.若有定义int m=5,n=2;则计算机表达式 y+=y-=m*=y 后的y值为____
求权威答案 求详解!谢谢!

回复

使用道具 举报

千问 | 2011-3-28 23:27:24 | 显示全部楼层
第一题:v=80+40*20=880这是C语言中的预处理命令, #define WIDTH 80 的作用是定义WIDTH=80.#define LENGTH WIDTH+40 的作用则是定义LENGTH=WIDTH+40.但这里就有一个关键的问题啦,很多人会认为那样LENGTH=80+40=120,然后再乘以20,就等于2400.这就犯了一个大错,因为只有在定义成#define LENGTH (WIDTH+40)才会是刚才的情况。我们只需要照着写,逐一代替。第二题:个人觉得你的题确实有问题。还缺少y的初值。可能是你的题错了,估计题意是想求n,不小心把n弄成了y.如果真的把y变成n,再求n。那n=-16希望能帮到你。有问题,可以再联系
回复

使用道具 举报

千问 | 2011-3-28 23:27:24 | 显示全部楼层
v=LENGTH*20v = 160;因为在使用LENGTH的时候LENGTH要原封不动的替换为WIDTH+40于是LENGTH*20被替换为 WIDTH+40*20题目应该有错
回复

使用道具 举报

千问 | 2011-3-28 23:27:24 | 显示全部楼层
第一题。v=80+40*20=880第二题。你的n值没用上,我觉得你抄错了吧。自己核对一下吧。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行