做HDU1010 带出来一个小问题
做1010 本来是想的DFS深搜 但是自己凭空打 打不出来 因为没有记模板 然后就去搜 但是看了一遍 自己打却又是有BUG 然后验证 就出现了一个二维字符数组打印的问题
开始代码是这样
#include<stdio.h> void main() { char a[3][4]; int i,j; for(i=0; i<3; i++) { //fflush(stdin); for(j=0; j<4; j++) { scanf("%c",&a[i][j]); } } for(i=0; i<3; i++) { for(j=0; j<4; j++) { printf("%c ",a[i][j]); } printf("\n"); } }
但是如果输入是这样的话,输出结果是这样
换一种输入 结果又是这样
之后把 代码的注释去掉 就可以满足第一种输入的方法,输出结果也是有规律的
主要就是fflush(stdin); 清空缓冲输入——清空输入流中留下的回车等其它输入,从而使下一次的输入总保持一个“干净”的状态。