The other answers are correct. The only way to truly change a variable inside another function is to pass it via pointer. Jeff M's example is the best, here.
If it doesn't really have to be that exact same variable, you can return the value from that function, and re-assign it to the variable, ala:
int try(int x)
{
x = x + 1;
return x;
}
int main()
{
int x = 10;
x = try(x);
printf("%d",x);
return 0;
}
Another option is to make it global (but don't do this very often - it is extremely messy!):
int x;
void try()
{
x = 5;
}
int main()
{
x = 10;
try();
printf("%d",x);
return 0;
}