【发布时间】:2020-04-20 10:11:02
【问题描述】:
我有一个填充的 3d 数组和一个打印每个 2d 数组的选定行的函数,但是如果选定的行(从第一个数组开始)为空,它应该打印“行为空”,我不知道如何检查它是否为空。 我尝试了以下方法:
void printrow(int X[][4][5], int row){
if(X[0][row][0]==0){
cout <<"row empty";
}
else{
for(int i=0; i < 4; i++){
for(int j=0; j < 5;j++){
cout << X[i][row][j] << " ";
}
}
cout << endl;
}
}
也许我应该使用指针?如果是,怎么做?
【问题讨论】:
-
空是什么意思?没有“空” int 这样的东西。
-
我的意思是它已经初始化但没有得到分配给它的值,所以它是0(?)
-
如果它已经被初始化,那么它确实有一个值。如果尚未初始化,则无法“检测”。
-
如果您想检查元素是否为
0,那么您的代码就是这样做的。请附上minimal reproducible example 并说明您的代码没有按照您希望的方式执行,包括实际和预期的输出帮助 -
那我该怎么做呢?如果我有 3 个二维数组并且只填充每个数组的第一行,如何检查第二行是否已填充?
标签: c++ arrays pointers multidimensional-array