c语言宏定义给数字加括号是为了什么如:#define DI_INPUT_NUM (11)
6个回答
展开全部
宏定义有很多问题,因为它是直接替换,经常带来和想法不符的现象,所有加个括号是个好习惯。
比如
#define SUM 3+5
int x = 10 * SUM; 问题就来了,结果是被替换成 x = 10 * 3 + 5; 和本意 x = 10 * (3+5) 不符。
#define SUM (3+5)
这样就好了。所以养成一个好的书写习惯,可以使你少范错误。
比如
#define SUM 3+5
int x = 10 * SUM; 问题就来了,结果是被替换成 x = 10 * 3 + 5; 和本意 x = 10 * (3+5) 不符。
#define SUM (3+5)
这样就好了。所以养成一个好的书写习惯,可以使你少范错误。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
貌似加不加括号是一样的。。。比如
uchar ISendByte(uchar sla,uchar c)
{
Start_I2c(); /*启动总线*/
SendByte(sla); /*发送器件地址*/
if(ack==0)return(0);
SendByte(c); /*发送数据*/
if(ack==0)return(0);
Stop_I2c(); /*结束总线*/
return(1);
}
你看哈=。=这里的话 return 后面也加了括号=。=
uchar ISendByte(uchar sla,uchar c)
{
Start_I2c(); /*启动总线*/
SendByte(sla); /*发送器件地址*/
if(ack==0)return(0);
SendByte(c); /*发送数据*/
if(ack==0)return(0);
Stop_I2c(); /*结束总线*/
return(1);
}
你看哈=。=这里的话 return 后面也加了括号=。=
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
加括号的目的是为了适应不同的使用场合。
这个宏定义的目的是用 DI_INPUT_NUM 替代数字 11 。
你说的函数。。。我不明白是怎么回事。
这个宏定义的目的是用 DI_INPUT_NUM 替代数字 11 。
你说的函数。。。我不明白是怎么回事。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
为了更严谨的。。。宏如果用不好的话,可能会产生奇怪的结果!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询