Even if the code itself does not contain system calls (what could meet the requirements), there are some implied system calls to actually initialize, run, stop and cleanup the process, even if they're not part of your binary. Which system calls are performed is platform dependent. Furthermore, at least the exit status will be set according to how you shut down your process: return statement vs exit() in main()
I guess, your teacher will be happy with that code, it doesn't use the standard library, which itself contains many system calls for different purposes (just like most other libraries). You won't be able to read/write from/to stdin/out and files/sockets, etc.. So you can't do IO, process creation & multithreading, synchronization, etc. since all that requires system calls (things like user threads and spinlocks may be a notable exception here).
One cannot write useful userland programs without system calls, except for programs taking some args, with a result returned as an int
(e.g. command line tools). You can also implement 'fully quiet' CPU heating stuff.