显示: 非法 break

0
#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;
}
C
ava
c

2020-5-22

0

break 可以用来退出循环。

但是你的 break 并没有在 while 循环里面,你的 while(1) 后面多了一个分号,导致 while 循环变成了空循环。

ava
慢羊羊

2020-5-23

技术讨论社区
相关提问