clrscr is not standard c, this is just replacing normal loop with recursion, you can allways do that without too much difficulty, usually with increased memory use and running time. I can not see anything tricky here.How about not allowing recursion also and producing 1024 messages fixed. Maybe slightly more interesting.
aha...i see...semantics are important....but it still kinda acts like a loop when combined with the increment(in my opinion). you have redeemed yourself to me. next time i will vote you up(your help has equalized the downvote i received from you).
Speaking of recursion, I once wrote a test for compiler exception handling (when exceptions were new to C++ in the early 90's) by implementing a Fibbonacci algorithm using exceptions only. You could use that methodology here as well... :-) Anyway, you would be surprised on how many compilers failed that test!
And I'd post the code here except for the fact that I'd have to dust off one of my old floppy disc systems since the code is in one of my old floppy disc archives...