gpt4 book ai didi

在 C 中构建自定义矩阵

转载 作者:太空宇宙 更新时间:2023-11-04 04:25:40 24 4
gpt4 key购买 nike

我取得了一些进展。现在我遇到的问题是“警告:'mat' 可能在此函数中使用未初始化 [-Wmaybe-uninitialized]scanf("%d", &mat[i][j]) ;"并且在运行时出现“段错误(核心已转储)”。

这是目前的代码:

#include<stdlib.h>
#include<stdio.h>

int main(){
int **mat;
int l, k, i, j;
printf("rows?");
scanf("%d", &k);
printf("columns?");
scanf("%d", &l);
for(i = 0; i < k; i++){
for(j = 0; j < l; j++){
printf("mat[%d][%d]: ", i, j);
scanf("%d", &mat[i][j]);
}
}
}
void prmat(int k, int l, int **mat){
int i, j;
printf("\n\n");
for(i = 0; i < k; i++){
for(j = 0; j < l; j++){
printf("%d", mat[i][j]);
}
}
}

最佳答案

正如 DYZ 所说,我们不应该在没有初始化 l 和 k 的情况下给出语句 int mat[k][l]。默认情况下,l 和 k 有一些垃圾值,这可能会产生问题

此外,您应该有一个如下所示的原型(prototype),其中 k 代表行,l 代表列int prmat(int **mat,int k,int l)

关于在 C 中构建自定义矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41841322/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com