#include <iostream>
using namespace std;
int f(int){cout << "f ";return 0;}
int g(int){cout << "g ";return 0;}
int a(){cout << "a ";return 0;}
int b(){cout << "b ";return 0;}
int main()
{
f(a()) + g(b());
return 0;
}
我知道a在f之前测序,b在g之前测序。 f和g没有排序。
有多少结果?
1.a f b g
2.b g a f
可能发生示例1和2。这些怎么样?
a b f g
a b g f
b a f g
b a g f
可能还是不可能?
答案 0 :(得分:2)
唯一保证的是b()
将在g()
之前评估,而a()
将在f()
之前评估。这是唯一遵守的2个有序关系。因此,任何与此排序兼容的输出都是可能的。在您的情况下,这意味着可能会发生1到6的任何输出。