Em linguagens de programação, um ponto importante é o escopo das declarações. No programa a seguir, escrito em linguagem C, o identificador a é uma macro composta pela expressão ++b. Por ser uma macro, a resolução de a não é realizada somente em termos do texto do programa.
#include<stdio.h>
#define a ++b
int b = 2;
void F1() { int b = 0; printf ("%d ", a); }
void F2() { printf("%d ", a); }
int main() {
F1();
F2();
return 0;
}
Com base na execução do programa acima, assinale a alternativa que apresenta a saída correta: