It can be used easily in small functions as in your example.
Also, as bobobobo said, using it in "early return" is nice thing.
But It usually make big functions harder to maintain (in C at least). Imagine if you have a function with opened resources (file handler, database connection, ...) and you want to return. It will be cumbersome to close resources on each return!
Another approach we used:
int my_func(int foo)
{
int x,y,z;
FILE* file;
// do some stuff
if(x>5)
goto my_func_end;
// do some other stuff.
my_func_end:
if(file != NULL)
fclose(file);
return y;
}
It is better to have local-variables cleaning in one location.
Also note that single return statements is advised by some coding standards, like MISRA.
There is an interesting question similar to this on here.
If you have time, take a look here and here.