#include <stdio.h>
/* GLOBAL, AUTO, and STATIC VARIABLE DECLARATION EXAMPLE */
int globalvar = 2; /* global variable is initialized only once */
/* and its value is always held in memory */
void printit()
{
static int staticvar = 2; /* intialized only once, but since it is static */
/* it value is always held in memory. */
int autovar = 2; /* local variable within printit */
globalvar++;
staticvar++;
autovar++;
/* Time line 2 */
printf("globalvar = %d \n", globalvar);
printf("staticvar = %d \n", staticvar);
printf("autovar = %d \n\n", autovar);
} /* printit */
int main()
{
int x; /* local variable within main */
/* Time line 1 */
/* Call printit function three times */
printit();
printit();
printit();
x = 5;
/* Time Line 3 */
return(0);
} /* main */
I2luY2x1ZGUgPHN0ZGlvLmg+CgogICAgICAgIC8qICAgIEdMT0JBTCwgQVVUTywgYW5kIFNUQVRJQyBWQVJJQUJMRSBERUNMQVJBVElPTiBFWEFNUExFICovCgogICAgICAgIGludCBnbG9iYWx2YXIgPSAyOyAgICAvKiBnbG9iYWwgdmFyaWFibGUgaXMgaW5pdGlhbGl6ZWQgb25seSBvbmNlICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGFuZCBpdHMgdmFsdWUgaXMgYWx3YXlzIGhlbGQgaW4gbWVtb3J5ICAgKi8KCiAgICAgICAgdm9pZCBwcmludGl0KCkKICAgICAgICB7ICAgCiAgICAgICAgICAgICAgIHN0YXRpYyBpbnQgc3RhdGljdmFyID0gMjsgIC8qIGludGlhbGl6ZWQgb25seSBvbmNlLCBidXQgc2luY2UgaXQgaXMgc3RhdGljICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBpdCB2YWx1ZSBpcyBhbHdheXMgaGVsZCBpbiBtZW1vcnkuICAgICAgICAgICAqLwoKICAgICAgICAgICAgICAgIGludCBhdXRvdmFyID0gMjsgICAgICAgICAgLyogbG9jYWwgdmFyaWFibGUgd2l0aGluIHByaW50aXQgKi8KCiAgICAgICAgICAgICAgICBnbG9iYWx2YXIrKzsKICAgICAgICAgICAgICAgIHN0YXRpY3ZhcisrOwogICAgICAgICAgICAgICAgYXV0b3ZhcisrOwoKICAgICAgICAgICAgICAgIC8qIFRpbWUgbGluZSAyICovCgogICAgICAgICAgICAgICAgcHJpbnRmKCJnbG9iYWx2YXIgPSAlZCBcbiIsICAgZ2xvYmFsdmFyKTsKICAgICAgICAgICAgICAgIHByaW50Zigic3RhdGljdmFyID0gJWQgXG4iLCAgIHN0YXRpY3Zhcik7CiAgICAgICAgICAgICAgICBwcmludGYoImF1dG92YXIgICA9ICVkIFxuXG4iLCBhdXRvdmFyKTsgCgogICAgICAgfSAvKiBwcmludGl0ICovCgogICAgICAgIGludCBtYWluKCkKICAgICAgIHsKCiAgICAgICAgICAgICAgICBpbnQgeDsgICAgLyogbG9jYWwgdmFyaWFibGUgd2l0aGluIG1haW4gKi8gICAgCgogICAgICAgICAgICAgICAvKiBUaW1lIGxpbmUgMSAqLwoKICAgICAgICAgICAgICAgLyogQ2FsbCBwcmludGl0IGZ1bmN0aW9uIHRocmVlIHRpbWVzICovCiAgICAgICAgICAgICAgICBwcmludGl0KCk7CiAgICAgICAgICAgICAgICBwcmludGl0KCk7CiAgICAgICAgICAgICAgIHByaW50aXQoKTsKCiAgICAgICAgICAgICAgICB4ID0gNTsKCiAgICAgICAgICAgICAgICAvKiBUaW1lIExpbmUgMyAqLwogICAgICAgICAgICAgICByZXR1cm4oMCk7CgogICAgICAgIH0gLyogbWFpbiAqLw==