我一直在尝试这个问题SUCCESS在spoj但我无法获得该问题的最佳解决方案
我试过了
int main(){return !puts("Success");}
Run Code Online (Sandbox Code Playgroud)
但它需要45个字符.有什么替代建议可以解决问题吗?人们也用24个字符解决了它.
#include<iostream>
int& f(){
static int x = 0;
x++;
return x;
}
int main(){
f() += 1; //A
f() = f() + 1; //B
std::cout << f();
}
Run Code Online (Sandbox Code Playgroud)
上面的代码在gcc上输出6,在MSVC上输出5.现在,当我修改A,并B给f()=f()我弄5两种编译器.这有什么大不了的?行为是否未定义.如果是,为什么?