【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);

方法三:
从缓冲区跳过

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

你可能感兴趣的:(c语言,C++,c语言,算法)