6个回答
展开全部
一定不要用分号,看看下面的例子
#define add(a,b) ((a)+(b));
if(add(a,b)==4)/*这里展开就是if(((a)+(b));==4),明显有语法错*/
{
}
如果用了分号,你就不能将宏嵌入其他语句中。
#define add(a,b) ((a)+(b));
if(add(a,b)==4)/*这里展开就是if(((a)+(b));==4),明显有语法错*/
{
}
如果用了分号,你就不能将宏嵌入其他语句中。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
定义的宏在预处理阶段会做简单的替换,加不加分号看你的需要。
分号在C语言中表示一个语句的结束,一个分号对应一个语句。
分号在C语言中表示一个语句的结束,一个分号对应一个语句。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
预处理命令阶段,
加分好,编译就会出错的啦,就不能替换了啊,
加分好,编译就会出错的啦,就不能替换了啊,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
宏,都不需要分号
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询