What I am guessing is that the stdin used by scanf is not getting flushed after entering a char as a result of which it is running into infinite loop. If you use fflush(stdin) just after scanf it will not be infinite loop. But I am not able to get the reason for it.
On Sep 13, 3:23 pm, Avinash Dharan <avinashdha...@gmail.com> wrote: > #include <stdio.h> > void main() > { > while(1) > { > int opt; > scanf("%d",&opt); > printf("%d\n",opt); > } > > } > > when i execute this program, if i give a character instead of an integer, it > goes into an infinite loop. why is it so? -- You received this message because you are subscribed to the Google Groups "Algorithm Geeks" group. To post to this group, send email to algogeeks@googlegroups.com. To unsubscribe from this group, send email to algogeeks+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/algogeeks?hl=en.