Scanf needs a pointer to the variable. Consequently, the "address-of" operator (&) is applied to the name of the variable. A C-string is not a single "thing", but a collection of such things (chars). The name of the array is treated as a pointer to its first element. Since it's already a pointer, the address-of operator is not required.

As Shabbir mentions, please put separate questions in separate threads. It's a matter of organization and promotes searchability.

Last edited by DaWei; 27Dec2006 at 23:13..