c语言:if(xxxxxx)后面直接一个“;”也算正确的if语句?

2025-02-05 16:41:59
推荐回答(3个)
回答1:

原则上算,但因为本身不会对程序有任何影响,优化器会无视这行。

另外,如果
if ((x += 2) && y++); 虽然写法怪异,但是就有相当的意义了

回答2:

正如楼上所说的那样。

其实就相当于
if(x>y && x!=y)
        ;

分号那一行就是一个空语句,什么也不执行。

回答3:

语法上是没有问题的,单独的;就是一条空语句。只是在正常情况下 没人会这么写程序罢了。