Applications compiled by Java are better adaptive to different operating systems like Windows and Linux than applications compiled by C compiler. Which option describes why Java applications are more independent from the OS than C applications?
A. Java has a DLL to abstract the difference of OS.
B. Java compiler is smarter than C compiler.
C. Java compiler creates byte code that is run on Java VM, and Java VM is prepared for each OS.
D. This is an urban legend. No difference between Java and C.