【发布时间】:2021-08-29 05:33:52
【问题描述】:
我正在开发以下二维数组程序来输出图片所示的结果:
我似乎无法获得结果的最小值并将其以数组形式显示。 代码如下:
#include<stdio.h>
#define NUMROWS 2
#define NUMCOLS 3
//accessing elements of 2D array using pointers
int main(void){
const int table[NUMROWS][NUMCOLS]={{1,2,3},{5,6,7}};
int minvals[NUMROWS];
int i, j;
int *ptr = &table;
//accessing the elements of 2D array using ptr
printf("table values: min value\n");
for(int i=0;i<NUMROWS;i++){
for(int j=0;j<NUMCOLS;j++)
printf("%d ",*((ptr+i*NUMCOLS)+j));
printf("\n");
}
for(int i=0;i<NUMROWS;i++){
for(int j=0;j<NUMCOLS;j++)
printf("%d ",*((ptr+i*NUMCOLS)+j)<minvals[i]);
}
return 0;
}
【问题讨论】:
-
“我似乎无法以数组形式显示结果并将其作为命令行参数执行。” - 那是因为您实际上没有编写任何代码这样做。
-
这是我需要完成的有问题的代码,不是我自己的代码。
-
是的,这是你需要完成的代码,而不是我们。尝试先解决问题,然后在碰壁时回来,并对自己的代码提出具体问题。如果您已经尝试过 - 请展示它,而不仅仅是问题的大纲。请阅读How do I ask homework questions?
-
哦,是的,ofc,我的代码给了我编译错误,所以我没有包含它,但我会把它放在这里,谢谢
-
我的印象是,你一次解决整个问题太难了。因此,我建议您首先尝试编写仅打印第一行的代码(不需要嵌套循环),一旦成功,然后您可以扩展它以打印多行(这需要嵌套循环)。