gpt4 book ai didi

c - 程序出现未知异常

转载 作者:行者123 更新时间:2023-11-30 20:07:20 24 4
gpt4 key购买 nike

我的程序旨在在运行时为二维数组分配内存,然后将元素放入其中并显示它。我的程序抛出一些异常,任何人都可以帮我识别它吗?

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

int main()
{


int i,j,row, col;
int *ptr;
printf("enter size of row and col\n");
scanf("%d%d",&row,&col);
ptr = (int *)malloc(row*col*sizeof(int));
if(ptr==NULL)
{
printf("stderr, not able to allocate memory");
exit(1);
}
else
{
printf("enter the element");
for(i=0; i<row;i++)
for(j=0;j<col;j++)
{
scanf("%d",ptr[i+j]);

}
for(i=0; i<row;i++)
{
for(j=0;j<col;j++)
printf("%d ",ptr[i+j]);
printf("\n");
}

}
}

最佳答案

scanf() 接受指向其参数的指针,因为它需要修改它们。因此,

scanf("%d", ptr[i + j]);

应该是

scanf("%d", &ptr[i + j]);

scanf("%d", ptr + i + j);

相反。

(如果您确实打算模拟二维数组,那么您应该使用

&ptr[i * columns + j]

无论如何 - 感谢 PaulR 指出了这一点。)

关于c - 程序出现未知异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14422737/

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