#include <stdio.h>
int a,b=5,c;
//global variable a=0,b=5 and c=0 (a and c initialized by bss)
 
int main(void) {
	int b,c;
	//local b initialized local c initialised (local c=0)
	a=20;
	//(global a updated) global a=20 global b=5 global c=0 
	b=function1();
	//local b=output of function 1 local b=25
	function3();
	//printf("a= %d\nb= %d\nc= %d\n",a,b,c); (commented out)
	//This prints local values of c (from this block main function and global of a) 
	return 0;
}
 
int function1(){
	int a=50;
	int b=20;
	//global a=20 global b=5 global c=0
	//local a and b initialized local a=50 local b=20
	c=function2(b); //local b sent as parameter of function2 (b=20)
	//global c updated global c= output of function2 global c=25
	return c;
}
int function2(int b){
	//global a=20 global b=5 global c=0 
	b=a+5;
	//local b= global a + 5 
	return b;
}
int function3(){ ///prints all global values
	printf("a= %d\nb= %d\nc= %d\n",a
,b
,c
); }
				I2luY2x1ZGUgPHN0ZGlvLmg+CmludCBhLGI9NSxjOwovL2dsb2JhbCB2YXJpYWJsZSBhPTAsYj01IGFuZCBjPTAgKGEgYW5kIGMgaW5pdGlhbGl6ZWQgYnkgYnNzKQoKaW50IG1haW4odm9pZCkgewoJaW50IGIsYzsKCS8vbG9jYWwgYiBpbml0aWFsaXplZCBsb2NhbCBjIGluaXRpYWxpc2VkIChsb2NhbCBjPTApCglhPTIwOwoJLy8oZ2xvYmFsIGEgdXBkYXRlZCkgZ2xvYmFsIGE9MjAgZ2xvYmFsIGI9NSBnbG9iYWwgYz0wIAoJYj1mdW5jdGlvbjEoKTsKCS8vbG9jYWwgYj1vdXRwdXQgb2YgZnVuY3Rpb24gMSBsb2NhbCBiPTI1CglmdW5jdGlvbjMoKTsKCS8vcHJpbnRmKCJhPSAlZFxuYj0gJWRcbmM9ICVkXG4iLGEsYixjKTsgKGNvbW1lbnRlZCBvdXQpCgkvL1RoaXMgcHJpbnRzIGxvY2FsIHZhbHVlcyBvZiBjIChmcm9tIHRoaXMgYmxvY2sgbWFpbiBmdW5jdGlvbiBhbmQgZ2xvYmFsIG9mIGEpIAoJcmV0dXJuIDA7Cn0KCmludCBmdW5jdGlvbjEoKXsKCWludCBhPTUwOwoJaW50IGI9MjA7CgkvL2dsb2JhbCBhPTIwIGdsb2JhbCBiPTUgZ2xvYmFsIGM9MAoJLy9sb2NhbCBhIGFuZCBiIGluaXRpYWxpemVkIGxvY2FsIGE9NTAgbG9jYWwgYj0yMAoJYz1mdW5jdGlvbjIoYik7IC8vbG9jYWwgYiBzZW50IGFzIHBhcmFtZXRlciBvZiBmdW5jdGlvbjIgKGI9MjApCgkvL2dsb2JhbCBjIHVwZGF0ZWQgZ2xvYmFsIGM9IG91dHB1dCBvZiBmdW5jdGlvbjIgZ2xvYmFsIGM9MjUKCXJldHVybiBjOwp9CmludCBmdW5jdGlvbjIoaW50IGIpewoJLy9nbG9iYWwgYT0yMCBnbG9iYWwgYj01IGdsb2JhbCBjPTAgCgliPWErNTsKCS8vbG9jYWwgYj0gZ2xvYmFsIGEgKyA1IAoJcmV0dXJuIGI7Cn0KaW50IGZ1bmN0aW9uMygpeyAvLy9wcmludHMgYWxsIGdsb2JhbCB2YWx1ZXMKCXByaW50ZigiYT0gJWRcbmI9ICVkXG5jPSAlZFxuIixhLGIsYyk7Cn0=