>>305
int f()
int f(int a)
は引数が違うので別物と見られます。
使うときに引数によってどっちが使われるか決まります。
で、f(3.14)なので引数がある
int f(int a)が使われ。
3.14がintにキャストされ a=3状態に。
で、a*3.14*2で18.28に。
値返すときにやっぱりintにキャストされるので
18になるってこった。
切り上げの場合は19か。コンパイラによるだろうが。