请教一下,自定义了一个函数,但是运行发现,函数的调用会被跳过,这是为什么呢
正常输出是小球上下跳动,如果自定义成函数来调用,小球的跳动动画就没有了
#include <graphics.h>
#include<conio.h>
void ball(float x, float y, float r, float g, float vy)
{
vy += g; //y方向速度
y += vy; //y方向位移
if (y >= 380) { y = 380; vy = -18; } //防止小球穿过地面
cleardevice();
solidcircle(x, y, r); //画球
Sleep(10);
}
int main()
{
initgraph(600,400);
float x1 = 100; //小球x位置
float y1 = 380; //小球y位置
float r1 = 20; //小球半径
float g1 = 1; //小球重力加速度
float vy1 = -18; //小球y方向速度
while (1)
{
//下面注释的是可以正常运行的
/*
vy1 += g1;
y1 += vy1;
if (y1 >= 380){ y1 = 380; vy1 = -18; }
cleardevice();
solidcircle(x1, y1, r1);
Sleep(10);
*/
//这行代码是会被跳过的,无法执行,看输出结果似乎是可以执行一次,之后循环都会跳过
ball(x1, y1, r1, g1, vy1);
}
_getch();
return 0;
}
怎么判断被跳过的啊?