【发布时间】:2011-04-20 17:45:27
【问题描述】:
大家好,感谢大家的支持,但现在没有人向我提供所需的信息,我尝试像这样执行该程序
#include<stdio.h>
#include <stdlib.h>
int main()
{
int **a,i,j;
system("clear");
a=(int*)malloc(sizeof(int)*5);
for (i=0; i<5; i++)
{
a[i]= malloc(sizeof(int)*3);
for (j=0; j<3; j++)
{
printf("\nplease enter the [%d][%d] location = ",i,j);
scanf("%d",&a[i][j]);
}
}
for (i=0; i<5; i++)
{
for (j=0; j<3; j++)
{
printf("\nthe value enter enter the [%d][%d] location = ",i,j);
printf("%d",a[i][j]);
}
}
free(a);
return ;
}
我在编译时遵守它,它显示以下警告
c:8: warning: assignment from incompatible pointer type
在运行程序时,它从用户那里获取 15 个值,但它没有显示用户输入的值 谁能解释我做错了什么,任何人都可以解释一下双指针和动态内存分配的概念
【问题讨论】:
-
请格式化您的代码。
-
格式已修复,请避免再次发这样的代码,伤害大家的眼睛。
-
可能重复(同一用户):c - dynamic memory
-
你应该努力改进你的原始问题而不是重复它 - 也试着更仔细地阅读你之前问题的答案
标签: c