getchar()和gets(a)一起用的原因

*int B,b;
char a[20];
printf("请输入待转换的进制数(2-16):");
do{
	scanf("%d",&B);
}while(B<2&&B>16);
printf("请输入待转换数:");
getchar();//getchar处理前面输入后的回车符的问题,必不可缺少,否则后面无法输入字符串
gets(a);//将输入的n进制存放在数组a中*

这里getchar是处理 前面输入数字后的回车符的问题。
如果没有这个getchar,那scanf后,会有一个回车符存在输入流的缓冲区内,那么再使用gets的时候,就会取得这个回车符,gets认为输入结束,就不会让用户输入字符串了。

猜你喜欢

转载自blog.csdn.net/qq_33508523/article/details/88088274