小编use*_*888的帖子

scanf的异常行为

我有如下代码扫描矩阵,w - 矩阵的宽度,矩阵的h - 高度.

我正在使用Visual Studio 2010.

每次我得到一个char它会使j增加2(我把断点加上来了解这种行为).

int w = 0, h = 0;
char map[21][21];
int i,j;

scanf("%d%d", &w, &h);
for(i = 1; i <= h; ++i){
    for(j = 1; j <= w; ++j){
        //fflush(stdin);
        scanf("%c",&map[i][j]);
        //fflush(stdin);
    }
}
Run Code Online (Sandbox Code Playgroud)

这背后的原因是什么?

在扫描时我给出值,w = 7,h = 5.

我的代码中没有看到任何错误....请帮助我.

c scanf

3
推荐指数
1
解决办法
276
查看次数

标签 统计

c ×1

scanf ×1