{}注意点

最好将判断、循环都加上括号。

例如:

if(param1)

  FUNCTION1(param1,param2);

else

  do_somethings();

若#define FUNCTION1(param1,param2) do{fun2(param1,param2,NULL);param1+=param2;}while(0)

  代入

if(param1)

  do{fun2(param1,param2,NULL);param1+=param2;}while(0);

else

  do_somethings();

  无错

若#define FUNCTION1(param1,param2) {fun2(param1,param2,NULL);param1+=param2;}

代入

if(param1)

  {fun2(param1,param2,NULL);param1+=param2;};

else

  do_somethings();

  

若#define FUNCTION1(param1,param2) fun2(param1,param2,NULL);param1+=param2;

代入

if(param1)

  fun2(param1,param2,NULL);param1+=param2;;

else

  do_somethings();

  

 

所以,最好在宏定义使用处外面加{},特别判断、循环处加{}

posted @ 2017-02-10 17:19  扑克face  阅读(120)  评论(0编辑  收藏  举报