c语言 指针表示二维数组问题

前两个数字分别代表了二维数组的行和列,现在我想用指针表示二维数组并且求出除了第一行的所有元素的和。现在我已经可以求出它们的和,但是我想用指针表示二维数组而不是,intli... 前两个数字分别代表了二维数组的行和列,现在我想用指针表示二维数组并且求出除了第一行的所有元素的和。现在我已经可以求出它们的和,但是我想用指针表示二维数组而不是,int list[10][10]这种方式。还有我想知道怎么把rows,cols 传到我写的方法里。也就是说 我想从txt里读取到行和列 把他们传到rows,cols里面,谢谢 展开
 我来答
风若远去何人留
2018-03-13 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450106
专业C/C++软件开发

向TA提问 私信TA
展开全部

你写的基本没什么问题。 

主函数

int **a;
int r,c;

定义其他变量和打开文件相同。

fscanf(fp, "%d%d",&r,&c);
if(r<=0 || c<=0) return ;
a=create(r,c);
if(a==NULL) return;

后续读取部分相同。

结尾加上内存的释放。

更多追问追答
追问

您这样的方法是对的 但是我遇到了两个问题

问题一;程序崩溃 只读取到4 3 我尝试让下面的i<r+1,j<c+1, 可以读出文件内的矩阵(矩阵格式被打乱), 但还是崩溃。为什么使用二维指针的时候会崩溃?请给与解答

问题二 :请问读取到矩阵的时候 有什么方式可以直接读取矩阵, 换句话说 是否可以直接从第二行开始读取。 谢谢大神解答

追答
读取到4 3 那么就要i<r,j<c
至于崩溃原因, 建议上传完整代码看看。

第二个。 可以通过读取忽略第一行。 打开文件后,
int c; while((c=fgetc(fp)) != '\n');
加这样一句就好了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式