c - Need help understanding ungetc behavior used in conjuction with scanf -


i can't understand behaviour of program. calls scanf, followed ungetc , printf.

i not reason behind output behaviour. here code.would great if clarified behaviour.

int main() { int n=0; scanf("%d",&n); ungetc(n,stdin); printf("%d\n",n); return 0; } 

output in gcc compiler , linux platform: first if give 90 waits number , after give number prints 90.

ending scanf() format \n instructs scanf() expect , eat whitespace sees after number. reason looks it's waiting input, because read until gets non-whitespace character. whatever enter isn't read, rather left on stdin subsequent reads.


Comments

Popular posts from this blog

JQuery Autocomplete without using label, value, id -

c++ - Accessing inactive union member and undefined behavior? -

JAVA - what is the difference between void and boolean methods? -