Echo's strange output

Hi,

Kindly help me to understand the behavior or logic of the below shell command

$ echo $!#
echo $echo $
$
$ echo !$#
echo $#
0

I am using GNU bash, version 3.2.25(1)-release

What shell are you using ?

Just some thoughts, according to history manpage..

"!" character starts a history substitution in bash.

and "#" is The entire command line typed so far.