绚烂的夏花 2015-07-20 09:55 采纳率: 0%
浏览 1387

TC2.0下运行,编译链接没错,但是运行没有结果。求高人指点。

将内存0:0处的3000个数据当作375个struct stu型数据,将他们的c,os,masm,java数据项拷贝到数组a的对应数据项中,查找数组a总分在200到400之间的数据,用next连起来,并且打印。
#define NULL 0
char *n;
char *m;
int x,y;
char temp;
int i;
struct stu{

unsigned char c;
unsigned char os;
unsigned char masm;
unsigned char java;

struct stu far * next;

};

void memcopy(void *destaddr,void *srcaddr,int len)//参考memcpy函数。
{
char
dest=destaddr;
char const* src=srcaddr;
while(len-->0)
{
*dest++ = *src++;
}
return destaddr;
}

int compare(struct stu *a)
{
unsigned int sum;
sum=a->c+a->os+a->masm+a->java;
if( sum>200&&sum<400) return sum;
else return 0;
}

int main()
{
struct stu a[375],*head,*p;
memcopy(a,(void*)0x0000,3000);

head=&a[0]; 
for(temp=0;temp<375;temp++)
{
    a[temp].next=&a[temp+1];
}
a[374].next=NULL;



i=0;
for(p=head;p!=NULL;p++)
{

    if(compare(p)){
        printf("a[%d]:%d\n\n",i,compare(p));
getch();
}
p=p->next;
i++;
}

}图片说明

  • 写回答

2条回答 默认 最新

  • 91program 博客专家认证 2015-07-20 11:13
    关注

    TC2.0下运行,你具体是在 DOS 下运行呢?还是在 Windows 下运行呢?
    如果是在 Windows 下运行,是不可能获取到你想要的信息。因为 Windows 已经不允许一般程序直接访问内存地址,特别是 0 等特殊的、系统的内存地址。

    评论

报告相同问题?

悬赏问题

  • ¥15 虚拟机打包apk出现错误
  • ¥30 最小化遗憾贪心算法上界
  • ¥15 用visual studi code完成html页面
  • ¥15 聚类分析或者python进行数据分析
  • ¥15 逻辑谓词和消解原理的运用
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝