Clarifying what Adak said, here's what you should know:
The & symbol (address-of operator) will return the address of a variable (where it is stored in memory). If you have declared an integer called foo, then &foo would be its address.
When you're dealing withprintf(), you only really need to know the values of these variables. You don't need to know where they're being stored, because you only really care whether foo is a 3, a 12, or whatever number. You will never use & in printf() unless you plan on printing out raw memory addresses, which you will almost never do.
Then scanf() function actually needs to modify your data. In order for it to do this, having a value isn't enough, it actually needs to know where your variable is stored in memory so scanf() can modify it. This is why scanf() requires an & sign for most types.
The only exception to this rule is strings. A string esssentially is a memory address that points to the first character in a group of characters, so neither printf() nor scanf() take the & symbol in this case.
You will never use & in printf() unless you plan on printing out raw memory addresses, which you will almost never do.
Never say never. ;) printf() supports a %n specifier that assigns the number of characters written up to that point:
int n = 0;
// Visual Studio disables %n by default and only provides a runtime way to enable it...
printf("Printing 22 characters%n\n", &n);
printf("Printed %d characters\n", n);
However, that specifier is viewed as a security risk, and some compilers (notable is Visual Studio, as in the example) will disable it.
A string esssentially is a memory address that points to the first character in a group of characters
Noting, of course, that this is a conversion that happens implicitly when arrays are used in value context and it's important to recognize that strings in general aren't inherently pointers.
Sadly, that happens a lot. Today at work I was getting frustrated because a client just didn't seem to grok my explanations about how macro translation in some of our software's text areas worked... :(
Like I said, you will never use them (as in mattboy64). ;)
Yeah...want to know how many times I was told I'd never use something when I was a beginner that I use often now? ;)