输入与换行’\n’
多次输入(其中包括输入单个字符时)
char ch;
//多次输入
…………
scanf("%c",&ch);
或
ch=getchar();
之前的输入终止的’\n’,会保留在缓存区。
如果不是输入单个字符(如:scanf("%d",);scanf("%d",)
)会跳过换行符。
如果输入单个字符,则会输入’\n’,导致程序运行异常。
解决
在上次输入后加上
int a;
char ch;
…………
scanf("%d",&a);//上次输入
while(getchar()!='\n'){
//再次输入多余的输入,但不保存到任何变量。
continue;
}
ch=getchar();