在Vc中没有显示错误,但是只有黑色的边框,未有结果,望哪位能解答一下。谢谢

#include<stdio.h>
#include<graphics.h>
#include<conio.h>
#include<stdlib.h>
void gotoxy(int x,int y)
{
int i,j;
for(i=0;i<x;i++) printf("\n");
for(j=0;j<y;j++) printf(" ");
}

int dme(int x,int y)
{
system("cls");
moveto(x,y);
printf("%c",2);
return 0;}
void main()
{initgraph(640,480);
int x=10,y=10;
char k;
k=getchar();
switch(k)
{case 24: y=y+1;dme(x,y);break;
case 25: y=y-1;dme(x,y);break;
case 26: x=x+1;dme(x,y);break;
case 27: x=x-1;dme(x,y);break;}
closegraph();
getch();}

ege/easyx 图形模式和 文本模式不要混一起 了 童鞋
给你改了改 initgraph进入 图形模式下 就不能调文本模式下的类似printf的输出函数了,
你这压根用不到图形模式
#include<stdio.h>
//#include<graphics.h>
#include<conio.h>
#include<stdlib.h>
void gotoxy(int x,int y)
{
int i,j;
for(i=0;i<x;i++) printf("\n");
for(j=0;j<y;j++) printf(" ");
}

int dme(int x,int y)
{
system("cls");
gotoxy(x,y);//////////
printf("%c",2);
return 0;}
void main()
{//initgraph(640,480);
int x=10,y=10;
char k;
k=getchar();
switch(k)
{case '1': y=y+1;dme(x,y);break;
case '2': y=y-1;dme(x,y);break;
case '3': x=x+1;dme(x,y);break;
case '4': x=x-1;dme(x,y);break;}
//closegraph();
getch();
}

//easyx即使你要用图形模式
#include<stdio.h>
#include<graphics.h>
#include<conio.h>
#include<stdlib.h>
void gotoxy(int x,int y)
{
int i,j;
for(i=0;i<x;i++) printf("\n");
for(j=0;j<y;j++) printf(" ");
}

int dme(int x,int y)
{
system("cls");
moveto(x,y);
outtext(2);//initgraph进入图形模式后应该用图形模式的outtext函数来输出,
//而不应该用文本模式的printf来输出
return 0;}
void main()
{initgraph(640,480);
int x=10,y=10;
char k;
k=getch();
switch(k)
{case '1': y=y+1;dme(x,y);break;
case '2': y=y-1;dme(x,y);break;
case '3': x=x+1;dme(x,y);break;
case '4': x=x-1;dme(x,y);break;}
getch();
closegraph();
getch();
}
温馨提示:答案为网友推荐,仅供参考
相似回答