gpt4 book ai didi

c - C中矩阵的段错误

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

我试图在 C 中创建一个矩阵并有一些输入值,但我不知道为什么它会抛出一个“段错误”。这是我的代码:

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

int main() {
int i;
int j;
int **a;
a = malloc(5 * sizeof(int));
for (i = 0; i < 5; i++) {
a[i] = malloc(4 * sizeof(int));
}
for (i = 0; i < 5; i++) {
for (j = 0; j < 4; j++) {
scanf("%d", (a[i][j]));
}
}
return 0;
}

最佳答案

根据@Bathsheba 的回答,您的代码应该是这样的:

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

int main (void)
{
int (*a)[4] = malloc( sizeof(int[5][4]) );

for(int i=0;i<5;i++)
{
for(int j=0;j<4;j++)
{
scanf("%d", &a[i][j]);
}
}

free(a);
return 0;
}

关于c - C中矩阵的段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40973009/

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