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

javascript - backbone.js Collection.add() doesn't `construct` (`initialize`) an object -

php - Get uncommon values from two or more arrays -

Adding duplicate array rows in Php -