#include<stdio.h>
#include<conio.h>
#include<graphics.h>
#define high 480
#define width 640
int main()
{
int x=width/2,y=high/2;
int radius=30;//设置半径
int v_x=1,v_y=1;
char c;
initgraph(width,high);//初始化绘画窗口
setfillcolor(GREEN);//填充颜色为绿色
BeginBatchDraw(); //开始批量绘图
while(1); //一直在运行
{
solidcircle(x,y,radius);//画出一个圆
FlushBatchDraw(); //刷新绘图
Sleep(20); //延时
clearcircle(x,y,radius);//用背景色清空圆形区域
x=x+v_x;
y=y+v_y; //改变小球的位置
if(x<=radius||x>=width-radius)//小球到达边缘时改变移动方向
v_x=-v_x;
if(y<=radius||y>=high-radius)
v_y=-v_y;
if(_kbhit()) //敲击键盘
{
c=_getch();
if(c==27) //按esc键结束
{break;}
}
}
EndBatchDraw(); //结束批量绘图
closegraph();
return 0;
}
显示: 非法 break
break 可以用来退出循环。
但是你的 break 并没有在 while 循环里面,你的 while(1) 后面多了一个分号,导致 while 循环变成了空循环。