c++这一句怎么解?

#defineNINT(a)((a)>=0.0?(int)((a)+0.5):(int)((a)-0.5))#define什么作用?NINT(a)是什么意思?>=:怎么回... #define NINT(a) ((a) >= 0.0 ? (int)((a)+0.5) : (int)((a)-0.5))
#define什么作用?
NINT(a)是什么意思?
>= : 怎么回事?
展开
 我来答
jackou20057
2012-06-14 · TA获得超过998个赞
知道小有建树答主
回答量:199
采纳率:100%
帮助的人:274万
展开全部
#define 就是一个宏定义
NINT(a) 可简单的看作是一个宏定义一个函数,其参数为a;(只是为了方便理解才这样说的,实际上只是一个替换)
>= 是比较运算符,是比较 (a)与 0.0的大小的
?:是条件运算符 (a>b)? a:b 表示括号中的表达式为真则取a;若为假,则取b
所以这里实际上是对 括号中的a 根据情况做一定的增减
即先比较(a)与0.0 的大小,如果(a)大于等于0.0 那么就用问号后边的(int)((a)+0.5)来替换NINT(a);否则就用 冒号后边的 (int)((a)-0.5)) 来替换 NINT(a).
调用的时候 可采取一下调用方式:
b = NINT(5.5) : 5.5大于0.0,故原赋值表达式变为 b = (int)((5.5)+0.5) 即b的值为6
或者
b= NINT(-0.6) :-0.6小于0.0,故原赋值表达式变为 b = (int)((-0.6)-0.5) 即b的值为-1
a5295354958
2012-06-14
知道答主
回答量:9
采纳率:0%
帮助的人:4万
展开全部
#define,在编译的时候只进行替换,而不进行类型检查;
NINT(a) 这个不知道啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhoudailiang
2012-06-14
知道答主
回答量:3
采纳率:0%
帮助的人:4698
展开全部
#define A B //就是用A替换B
第一句中用了 ? : ;这个
还有你就一段程序代码,NINT(a),怎么知道是什么意思?。
>=就是大于等于的意思
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
手机用户31146
2012-06-14 · TA获得超过127个赞
知道答主
回答量:36
采纳率:0%
帮助的人:34.6万
展开全部
#define是一个宏定义,可以理解为定义的意思,#define NINT(a)可以理解为定义一个表达式,表达式的名称是NINT,a是表达式的参数,>=是大于等于的意思,整句话的意思是宏定义表达式NINT,参数是a,当a大于或等于0.0的时候返回(a)+0.5的整形值,如果a小于0.0的时候返回(a)-0.5的整型值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式