Umm, there is no such thing as infinite recursion. If you doubt that I'll make you a nice little C program that will keep recursing until it crashes. The runtime stack has a maximum size. Granted the size is pretty large, but it will crash if you exceed it. If you doubt what I say, here is an example from Microsoft that will lead to a stack overflow http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/vclrf_resetstkoflw.asp. No runtime stack allows for infinite recursion. Note that C code isn't exactly ANSI standard, it requires MSVC++ to compile since it uses MS's SEH (Structured Exception Handling).