要解决C语言中使用scanf连续输入两个字符类型的问题,可以采用以下攻略:
1.使用空格分开输入
可在两个字符之间输入空格,使得能够采用两次scanf分别输入两个字符,例如:
char a, b;
scanf("%c %c", &a, &b);
printf("a=%c, b=%c", a, b);
这段代码的意义是首先输入一个字符,然后输入一个空格,最后再输入一个字符。%c占位符表示输入一个字符,两个%c之间的空格表示输入一个空格。如果我们输入"a b",那么输出就是:
a=a, b= b
2.清除输入缓存区
由于scanf函数会留下输入缓存区的内容,所以导致第二个字符无法得到输入。此时,需要使用fflush函数或者getchar函数来清除输入缓存区,例如:
char a, b;
scanf("%c", &a);
fflush(stdin);
scanf("%c", &b);
printf("a=%c, b=%c", a, b);
这段代码的意义是清除输入缓存区,然后再次使用scanf输入另一个字符。第一次scanf输入一个字符后,使用fflush(stdin)清除输入缓存区,然后再使用scanf输入另一个字符。
如果我们输入"ab",那么输出就是:
a=a, b= b
其中,第一个字符a被赋值给了变量a,但是第二个字符b却被换行符\n读取了,所以第二个变量b是空格。
以上就是两种解决C语言中使用scanf连续输入两个字符类型的方法。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:解决C语言中使用scanf连续输入两个字符类型的问题 - Python技术站