scanf()函数最容易出问题的地方就是
格式化读取与缓冲区的问题。
结合代码来看:
#include<stdio.h>
int main() {
int a=1,b=1;
char c='a';
printf("before:\n");
printf("%d,%d,%c\n",a,b,c); //输出初始化状态
scanf("%d%d",&a,&b);
//清空缓冲区
//fflush( stdin );
//scanf("%*[^\n]%*c");
scanf("%c",&c);
printf("%d,%d,%c\n",a,b,c); //输出之后的变化
}
一开始输出1,1,a这没问题。