扫描2d阵列列

时间:2014-08-16 01:30:26

标签: c arrays

我正在编写代码来检查我的数组中的每一列是否包含一个特殊字符(z)的列,但是我的逻辑中似乎存在一个缺陷,用于指示。有什么建议可以修改吗?

check = 1;
for (i = 1; i < width; i++) {
    for (j = 1; j <= column; j++) {
        if (!((array[i+1][j] == 'z') && array[i][j] == array[i+1][j])){
            check = 0;
            printf("No match");
        }
    }
}

1 个答案:

答案 0 :(得分:0)

#include <stdio.h>

int main(void){
    int width = 3, column = 3;
    char array[3][3] = {
        {'x','z','y'},
        {'b','z','a'},
        {'v','z','w'},
    };
    int i, j, check;

    for(j = 0; j < column; j++){
        check = 1;
        for(i = 0; i < width; i++){
            if(array[i][j] != 'z'){
                check = 0;
                break;
            }
        }
        printf("columns %d is ", j+1);
        if(check)
            printf("match\n");
        else
            printf("no match\n");
    }
    return 0;
}