if语句的一个现象

 如果if语句的判断式中有逗号,例如:if(a== b,c ==d),EVC的编译器会报错吗?

 

在今天的编程中,就出现了这样一句:

...

else if(3 == GetWinStatus(),GetWinStatus()) //在日期设置窗口, 则返回主窗体
{
   SetWinStatus(0,GetWinStatus());
}

 

编译器竟然没有报错,更奇怪的是功能一些正常。

 

要不是我有所谓静态测试的习惯---也就是读自己写的代码,就不会发现这个问题。

你可能感兴趣的:(编程,c,测试,编译器)