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.

Reply via email to