Hmm, his original code definitely creates that error with my compiler...
Code:
itsme@itsme:~/C$ gcc -Wall error.c -o error
error.c:4: warning: return type defaults to `int'
error.c: In function `main':
error.c:5: warning: initialization makes integer from pointer without a cast
error.c:7: warning: implicit declaration of function `system'
itsme@itsme:~/C$
The reason is that
char is basically just a 1-byte int, and "Hello World" is evaluated as a pointer (a pointer to the first character in the string). See why the warning is there now? You really are trying to assign a pointer to an int.