C 如何使用结构初始化、创建矩阵并打印
我想使用结构创建二维数组,并从用户处读取,然后显示它。但我不知道这是怎么回事。 /对不起,伙计们。首先,我想让它从用户那里读取矩阵元素,然后我想显示整个矩阵。但它不能正确打印,它会打印元素的地址。为什么是打印地址,而不是打印值/ 这是我的密码:C 如何使用结构初始化、创建矩阵并打印,c,matrix,structure,C,Matrix,Structure,我想使用结构创建二维数组,并从用户处读取,然后显示它。但我不知道这是怎么回事。 /对不起,伙计们。首先,我想让它从用户那里读取矩阵元素,然后我想显示整个矩阵。但它不能正确打印,它会打印元素的地址。为什么是打印地址,而不是打印值/ 这是我的密码: #include <stdio.h> struct Matrix { int n,m; int a[100][100]; }array; int main() { struct M
#include <stdio.h>
struct Matrix {
int n,m;
int a[100][100];
}array;
int main() {
struct Matrix *p;
int i,j;
p = malloc(sizeof(array));
scanf("%d%d", &p->n, &p->m);
for (i = 0;i < p->n;i++)
for (j = 0;j < p->m;j++)
scanf("%d", p->a[i][j]);
for (i = 0;i < p->n;i++){
for (j = 0;j < p->m;j++)
printf("%d ", (p->a[i][j]));
printf("\n");
}
}
#包括
结构矩阵{
int n,m;
INTA[100][100];
}阵列;
int main(){
结构矩阵*p;
int i,j;
p=malloc(sizeof(数组));
扫描频率(“%d%d”,&p->n,&p->m);
对于(i=0;in;i++)
对于(j=0;jm;j++)
scanf(“%d”,p->a[i][j]);
对于(i=0;in;i++){
对于(j=0;jm;j++)
printf(“%d”,(p->a[i][j]);
printf(“\n”);
}
}
scanf(“%d”,p->a[i][j])代码>到scanf(“%d”,&p->a[i][j])代码>。最好检查scanf()
的结果,以确保代码收到预期的数据
if (scanf("%d", &p->a[i][j]) != 1) Oops();
#include <stdio.h>
struct Matrix {
int n, m;
int a[100][100];
} array;
int main() {
struct Matrix *p;
int i, j;
p = malloc(sizeof(array));
scanf("%d%d", &p->n, &p->m);
for (i = 0; i < p->n; i++)
for (j = 0; j < p->m; j++) {
// scanf("%d", p->a[i][j]);
scanf("%d", &p->a[i][j]);
}
for (i = 0; i < p->n; i++) {
for (j = 0; j < p->m; j++)
printf("%d ", (p->a[i][j]));
printf("\n");
}
}
#包括
结构矩阵{
int n,m;
INTA[100][100];
}阵列;
int main(){
结构矩阵*p;
int i,j;
p=malloc(sizeof(数组));
扫描频率(“%d%d”,&p->n,&p->m);
对于(i=0;in;i++)
对于(j=0;jm;j++){
//scanf(“%d”,p->a[i][j]);
scanf(“%d”,&p->a[i][j]);
}
对于(i=0;in;i++){
对于(j=0;jm;j++)
printf(“%d”,(p->a[i][j]);
printf(“\n”);
}
}
如果您说它不起作用了,并且出现了问题,会发生什么情况?是否有理由声明
array
?它应该是typedef
?您输入了什么?结果是什么?Telmen Munkhdalai,请编辑你的问题,包括为什么你认为有问题。