Что получится в результате?

Недавно видел в интернете задачу, очень любопытно узнать, что получится в результате. Только пожалуйста, постарайтесь ответить без компилятора (да, я умышленно не проганяю этот код в среде разработки, т.к. интересно услышать разные версии)

Что получится в результате выполнения данного кода?

#include
using namespace std;

f();
int x = 9;
void main()
{
f();
cout << x;
}

f()
{
::x = 8;
}

«чтение» кода в плюсах происходит строго сверху вниз. Так что как в Java, где можно ниже мейна объявлять сколь угодно методов, а они все равно будут воспроизводиться в указанном порядке, сделать не получится.

В результате мы получим 8