Really, your errors range from uninformed to eggregious.
1) main does not return void, it returns an int. Compilers that allow a void return are not standards compliant, tutorials that use it are in error.
2) Read the documentation for the funcions you use. For instance, gets:
Quote:
The gets function reads a line from the standard input stream stdin and stores it in buffer. The line consists of all characters up to and including the first newline character ('\n'). gets then replaces the newline character with a null character ('\0') before returning the line. In contrast, the fgets function retains the newline character.
Security Note
Because there is no way to limit the number of characters read by gets, untrusted input can easily cause buffer overruns. Use fgets instead.
3) c is a char. You said so in your declaration. "Code" is 5 chars. 'C', 'o', 'd', 'e', and '\0'. The latter is called a string (C string) and is indicated by double quotes rather than single quotes. A C string is an array. One cannot assign to arrays in their entirety at run time, though some compiler actions may make it seem so at compile time. Neither can C strings be compared with the "==" operator. One must use the functions declared in string.h and defined in the crt library.
See other parts of this forum for recommendation on good tutorials and books. Get a good compiler. Turn on all warnings and errors. Read the documentation for functions you use. Pay particular attention to the parts about how they fail and what to do about it.