> why it can't be like
Why would you think that?

You can't just call a function randomly from a line like that.

It has to be inside a function definition.

As it stands, it looks like some old-style function declaration - declare fp() as a function (implicitly) returning int, and taking unspecified parameters.

It certainly doesn't call the function.