请问compilation error一般都是因为什么?我在VS2013上编译测试都是正确的,放上OJ就会显示compilation error。我是C++写的,选的GNU C++的任何一个编译器都是相同的结果。 代码如下: #include <iostream> #include <string> using namespace std; string a, b; int compare(string a, string b) { int l; int re; l = a.length(); for (int i = 0; i < l; i++) { if (a[i] == b[i]||abs(a[i]-b[i])==32)re = 0; else if (a[i] < b[i]) { re = -1; break; } else { re = 1; break; } } return re; } void change(string a) { for (int i = 0; i < a.length(); i++) { if (a[i]>'A'&&a[i] < 'Z') a[i] = a[i] + 32; } } void main() { int re; cin >> a ; cin >> b; change(a); change(b); re=compare(a,b); cout << re << endl; } 谢谢各位解答啦!!!