Look at the placeholders in this line:
printf("The product of %i and %i is i%!\n", x , y , z);
%i is valid, but
i% is a typo.
(The compiler is interpreting this as a literal "i" followed by the invalid identifier "%!".)
When this was compiled, it generated an error. The error pointed at the spot in the line that was bad. One of the things that you should get used to is to look at exactly what these errors are and where it is indicated in the line of code. At this point, typos and syntax will be a lot of the problems. As you get used to writing code, the syntax errors will be less and less, but logic problems will be the bigger issues.
If this answers your question, please click on the check mark to accept. Let's keep up on forum maintenance. ;-)