A compiler for a high level language that runs on one machine and produces code for a different machine is called :
A cross compiler is a compiler capable of creating executable code for a platform other than the one on which the compiler is running. For example, a compiler that runs on a Windows 7 PC but generates code that runs on Android smartphone is a cross compiler.
So C is correct.
Ref: https://en.wikipedia.org/wiki/Cross_compiler
64.3k questions
77.9k answers
244k comments
80.0k users