Nopes, here comes the scope.
main() has block scope and overrides (shadows) the global
x inside the
C11, chapter §6.2.1, "Scopes of identifiers", (emphasis mine)
[...] If an identifier designates two different entities in the same name space, the scopes might overlap. If so, the scope of one entity (the inner scope) will end strictly before the scope of the other entity (the outer scope). Within the inner scope, the identifier designates the entity declared in the inner scope; the entity declared in the outer scope is hidden (and not visible) within the inner scope.