c语言|【C语言】scanf与回车的问题

Q: 若scanf后紧接着又有一个scanf,如:

scanf("%d",&h); scanf("%c",&c);

那么第二个scanf会将上一个scanf遗留在缓冲区的\n放在c中,如何解决上述问题呢?
S: 方法一:
利用getchar()\n吸收
scanf("%d",&h); getchar(); scanf("%c",&c);

方法二:
若两个输入是连续的可以直接用空格隔开
scanf("%d %c",&h,&c);

【c语言|【C语言】scanf与回车的问题】方法三:
从缓冲区跳过
scanf("%d",&h); scanf("\n%c",&c);

    推荐阅读