右花括号后面有分号和没有分号,意思是不是没有区别阿?该怎么解决

右花括号后面有分号和没有分号,意思是不是没有区别阿?比如:if(1){printf( a\n )}和if(1){printf( a\n

右花括号后面有分号和没有分号,意思是不是没有区别阿?
比如:
if(1)   {   printf( "a\n ");   }

if(1)   {   printf( "a\n ");   };
任何情况是不是都没有区别阿?


[解决办法]
不是,第2种多了一句空语句。

if(1)
{ printf( "a\n "); } /* 这是一句 */
; /* 这是一句空语句,和上面的if没关系 */


例如:
if(1){ printf( "a\n "); }; /* 出错了,if后面只能有一句,现在跟了2句。 */
else { printf( "a\n "); }