"a" in main() and "a" in read_an_int() are two completely seperate and unrelated local variables.



int main(void)
{

int a, ret; // uninitialized

while (1)