首页 > 解决方案 > 如何检查矩阵中是否有元素?

问题描述

我正在尝试检查我的维度 [10][10] 矩阵,哪些点可用于存储数据(字符串),哪些点已被占用。

代码基本上遍历整个矩阵并检查每个点。

我已经尝试使用strlenand!= NULL但一切都只是打印该地点是免费的。

char parque[10][10];

for(int i = 0; i < 10; i++) {
    for(int j = 0; j < 10; j++) {
        parque[i][j] = "";
    }
}

parque[5][5]="f47ac10b-58cb-4372-a567-0e02b2c3d499,ANR";

for(int i = 0; i < 10; i++) {
    for(int j = 0; j < 10; j++) {
        if(parque[i][j] != "") {
            printf("The Spot [%d][%d] is taken",i,j);
        } else {
            printf("The Spot [%d][%d] is free",i,j);
        }
    }
}

基本上点 [5][5] 应该打印它已被拍摄,至少这是我想要它做的......

提前致谢!

标签: carraysif-statementmatrix

解决方案


您的声明

char parque[10][10];

声明一个二维数组char。如果你用严格的编译器编译你的代码,你会得到一个错误:

error: assignment makes integer from pointer without a cast [-Wint-conversion]
             parque[i][j] = "";
                          ^

您的意思是创建一个指向 的指针数组const char,如下所示:

const char* parque[10][10];

然后你的程序会这样说The Spot [5][5] is taken


推荐阅读