标题:内存空间怎么申请??
取消只看楼主
godkid
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-9-13
 问题点数:0 回复次数:1 
内存空间怎么申请??

帮我看道题好吗

先申请一个内存空间放下二维数组,然后找到只出现一次的行
代码如下,不知怎么修改
clude <stdio.h>
#include <malloc.h>
#include <stdlib.h>
#define N 7
#define M 3
int check(int *p,int *q,int length);
int main(void)
{
int i, j;
int *p=(int *)malloc(60);
p=&a;
int a[N][M]={{1,2,3},{2,5,6},{1,2,3},{3,6,9},{3,4,7},{1,2,3},{3,4,7}};
for (i=0; i<N; i++)
{
for (j=0; j<N; j++)
{
if (j==i) continue;
if (check(a[i], a[j], M)) goto NEXT;
}
printf("%3d:\t",i+1);
for (j=0; j<M; j++)
printf("%d ",a[i][j]);
printf("\n");
NEXT:;
}
return 0;
free(p);
}
int check(int *p, int *q, int length)
{
int i=0;
for (; i<length; i++)
if (p[i]!=q[i])
return 0;
return 1;
}

错在内存申请那块儿了,不知怎么改,请达人指点

搜索更多相关主题的帖子: 内存 空间 申请 
2007-11-12 14:49
godkid
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-9-13
得分:0 
哦,不好意思,确实是粘贴的时候反了,
#include <stdio.h>
#include <malloc.h>
#include <stdlib.h>
#define N 7
#define M 3
int check(int *p,int *q,int length);
int main(void)
{
int i, j;
int *p=(int *)malloc(10*sizeof(int));

int a[N][M]={{1,2,3},{2,5,6},{1,2,3},{3,6,9},{3,4,7},{1,2,3},{3,4,7}};
p=&a;
for (i=0; i<N; i++)
{
for (j=0; j<N; j++)
{
if (j==i) continue;
if (check(a[i], a[j], M)) goto NEXT;
}
printf("%3d:\t",i+1);
for (j=0; j<M; j++)
printf("%d ",a[i][j]);
printf("\n");
NEXT:;
}
return 0;
free(p);
}
int check(int *p, int *q, int length)
{
int i=0;
for (; i<length; i++)
if (p[i]!=q[i])
return 0;
return 1;
}
运行后总是提示、:warning C4047:“=”:“int *”differs in
levels of indirection from “int (*)[7][3]”
什么意思啊
2007-11-12 17:22



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-185498-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.343229 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved