2.) C isn't required. The functions use the C conventions for naming. That's all.
3.) That solution would never work because it would return the ASCII value for the character.
The solution requires that you go through the string multiplying the value you get by the next power of ten and adding it to what you had before. You work from the 1 position back to the front of the string. You also need to ignore non numerical characters.
That said, I don't really understand why this should be a consideration for the programmer at all. C's type system seems to get in the way and slow things down almost as much as it helps (again, limited C experience here) and I don't think that's how these things should work.
You can work from the front of the string to the end and multiply your accumulated result by 10 at each step, can't you?
I might just be misunderstanding your wording, in which case ignore me.
Your method means you only need to walk the string once which is better. Either way 9/10 interview candidates can't even get that far.
I guess this must be soviet russia.
You're basically testing to see if people know about casts, right? I'm not a big C developer and most of the languages I spend most of my time in have much less onerous typing systems than C, but if you gave me this question I would probably just write something like:
perhaps including a loop to read to the end of char*. Would I pass or not? I don't think I'm that bad of a programmer, just don't have a lot of direct experience with C.