在 csp 的考级提示中,有这么一条要求:

  • 定义变量时, 禁止使用的变量名:y1,x1 ,大家有没有思考过这是为什么呢?

详见:/csp/77.html

大家来看样例:

#include <bits/stdc++.h>  
using namespace std;  
   
int y1;  
int main()  
{  
      
    return 0;  
}  
  

报错信息

image.png
编译报错,于是我把y1写成局部变量,对了;然后我再把万能头文件换掉,也对了。

#include <bits/stdc++.h>  
using namespace std;  
   
int main()  
{  
    int y1;  
    return 0;  
}  

OK,问题缩小为使用万能头文件时定义名为y1的全局变量会出现错误。

经过调试,最后发现是cmath头文件里面定义了y1