请教关于用c画直线的问题
昨天在一本书上看到一个程序,用c画一条斜度小于90度的直线,用的算法是逐点比较法,是在tc底下编译的,结果我今天在调试时实现不了,请高手指点一下,源代码如下:
#include "stdio.h"
#include "stdlib.h"
#include "graphics.h"
#include "math.h"
#define ESC 0×1b
void Initialize(void)
{
int GraphDriver;
int GraphMode;
int ErrorCode;
GraphDriver=DETECT;
initgraph(&GraphDriver,&GraphMode,"");
ErrorCode=graphresult();
if(ErrorCode!=grOK)
{
printf("Graphics System Error:%s\n",grapherrormsg(ErrorCode));
exit(1);
}
}
main()
{
int xo,yo,xa,ya,x,y;
int dx,dy,c,f; /* c为从原点o到点a要走的步数 */
Initialize();
printf("input x,y:");
scanf("%d,%d",&xo,&yo);
printf("xa:%d-639",xo);
scanf("%d",&xa);
printf("ya:0......%d",yo);
scanf("%d",&ya);
dx=xa-xo;dy=yo-ya;
if(xa>=xo&&xa<=639&&ya>=0&&ya<=yo)
{
outtextxy(xo,yo+5,"o");
outtextxy(xa,ya-10,"a");
if(dx>dy) c=dx;
else c=dy;
x=xo;y=yo;f=0;
while(c>=0)
{
putpixel(x,y,14);
if(f>0) {x=x+1;f=f-dy;if(dx>dy) c=c-1;}
else {y=y-1;f=f+dx;if(dx<=dy) c=c-1;}
}
}
else printf ("error");
}
p.s. “0×1b”中的×怎样在tc中加入阿,键盘上没这键阿