I don't think fflush(stdin) would work in this situation. But the reason you gave is write. One way to fix is to put a getchar() below the scanf statement.
On Sep 13, 9:17 pm, Ankuj Gupta <ankuj2...@gmail.com> wrote: > 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.