一个有关C语言编程的问题
你好,
我是一位编程爱好者,几天来编了一个小游戏,确却因为在load一幅BMP图片时,程序在第17行上(可能是因为第17行)总是出错说"Lvalue required in function load_pic",而且有时候提示说你的程序显示范围出
界,请教为何?怎么才能使这个子函数正确运行?输出范围应该如何确定?谢谢。
我的函数load_pic()的源程序为:
void load_pic()
{
1. char fname[80];
2. FILE *fp;
3. register int i,j;
4. char far*ptr=(char far*)0xb800000000;
5. char far*temp;
6.unsigned char buf[14][80];
7.temp=ptr;
8.for(i=0;i<14;i++)
{
9.for(j=0;j<80;i+=2)
{
10. buf[i][j]=*temp;
11.buf[i][j+1]=0;
12.*(temp+8152)=0;
13.temp++;
}
}
14.goto_xy(0,0);
15.printf("Game board:");
16.gets(fname);
17.if(!fp=fopen(fname,"rb"))
{
18.goto_xy(0,0);
19.printf("cannot open file \n");
20.temp=ptr;
21.for(i=0;i<14;i++)
{
22.for(j=0;j<80;j+=2)
{
23.*temp=buf[i][j];
24.*(temp+8152)=0;
25.temp++;
}
26.return;
}
}
}