#include <stdio.h>
/* Global variables (implicitly initialized to 0) */
int a = 0, b = 0, c = 0, d = 0;
/* Function prototypes */
void g1(int b, int c);
void g2(int a, int c);
int g3(int c, int a);
void g1(int b, int c)
{
/* prints globals and the parameters b, c in that order */
printf("%d %d %d %d\n", a
, b
, c
, d
); }
void g2(int a, int c)
{
g1(a, c);
}
int g3(int c, int a)
{
int b;
b = 3;
g1(a, b);
{
int c;
int d;
d = 4;
c = 8;
g2(a, b);
}
g1(a, b);
return b;
}
int main(void)
{
int a;
int b;
a = 4;
b = 5;
a = g3(b, c);
g3(b, a); /* return value ignored */
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgovKiBHbG9iYWwgdmFyaWFibGVzIChpbXBsaWNpdGx5IGluaXRpYWxpemVkIHRvIDApICovCmludCBhID0gMCwgYiA9IDAsIGMgPSAwLCBkID0gMDsKCi8qIEZ1bmN0aW9uIHByb3RvdHlwZXMgKi8Kdm9pZCBnMShpbnQgYiwgaW50IGMpOwp2b2lkIGcyKGludCBhLCBpbnQgYyk7CmludCAgZzMoaW50IGMsIGludCBhKTsKCnZvaWQgZzEoaW50IGIsIGludCBjKQp7CiAgICAvKiBwcmludHMgZ2xvYmFscyBhbmQgdGhlIHBhcmFtZXRlcnMgYiwgYyBpbiB0aGF0IG9yZGVyICovCiAgICBwcmludGYoIiVkICVkICVkICVkXG4iLCBhLCBiLCBjLCBkKTsKfQoKdm9pZCBnMihpbnQgYSwgaW50IGMpCnsKICAgIGcxKGEsIGMpOwp9CgppbnQgZzMoaW50IGMsIGludCBhKQp7CiAgICBpbnQgYjsKICAgIGIgPSAzOwogICAgZzEoYSwgYik7CgogICAgewogICAgICAgIGludCBjOwogICAgICAgIGludCBkOwogICAgICAgIGQgPSA0OwogICAgICAgIGMgPSA4OwogICAgICAgIGcyKGEsIGIpOwogICAgfQoKICAgIGcxKGEsIGIpOwogICAgcmV0dXJuIGI7Cn0KCmludCBtYWluKHZvaWQpCnsKICAgIGludCBhOwogICAgaW50IGI7CiAgICBhID0gNDsKICAgIGIgPSA1OwogICAgYSA9IGczKGIsIGMpOwogICAgZzMoYiwgYSk7IC8qIHJldHVybiB2YWx1ZSBpZ25vcmVkICovCgogICAgcmV0dXJuIDA7Cn0K