He was told that C is a universal progrtamming tool and that it is cross platfrom.
Which is true.
But specific system level programs become very specific to an OS.
You can have a C program running in a Windows 98 environment that will crash when run on a Windows 2000 PC. It is the API that is not exactly the same.
And this problem is not just with C. Any system program that has to get down in to the low-level stuff for speed will be very specific to the environment.
Nor is it a problem just with Windows. Other OS also, to some,degree, change with the version numbers. An early version of Linux has a library that differs from a newer version. Bad enough to crash.
We are still a long way away from a universal way to code for all platforms. Still, if you want to do system level programming, you have to study some C and its newer forms, like C++
Then there is
C#, but...
I am still learning
Cb.