testにはsetTest()で値をセットしているのに、mainからtestの中身を参照できるんですか?
testにセットしている1はsetTest()が終わった段階で、メモリから削除されると思うのですが

int test;
void setTest() { test = 1; }

int main() {
setTest();
printf("%d",test);
}