**
#include<stdio.h>
enum Direction{up,down,forward,back,left,right};/*枚举类型的定义*/
int move(enum Direction command,int *px,int *py);/*函数说明*/
void main()/*无返回值*/
{
enum Direction commands [10]={forward,right,forward,right,forward,right,forward,right,forward,right};/*定义了一个枚举型数组,并对其进行了初始化,值是任意的*/
int x=0,y=0;/*初始化坐标变量*/
int i=0;
for(i=0;i<10;i++)
{
move(commands[i],&x,&y);/*调用函数,括号内的参数分别是循环变量、坐标变量的地址*/
printf("\nPosition[%d] is (%d,%d)",i+1,x,y);
}
printf("\n");
}
int move(enum Direction command,int *px,int *py)/*函数定义,参数分别是枚举类型数组、坐标变量,分别指向主函数中的x,y*/
{
int nRet=1;/*定义一个判断变量,1代表正确,0代表错误*/
static int x=0,y=0;/*定义一个静态局部变量(在调用时需要保留某些变量的值)*/
switch(command)/*括号内表示switch语句要执行的表达式*/
{
case left:
x-=1;break;
case right:
x+=1;break;
case forward:
y+=1;break;
case back:
y-=1;break;
default:
nRet=0;break;/*用来处理其余情况*/
}
*px=x;
*py=y;/*交代了指针指向*/
return nRet;
}
## 利用枚举类型模拟机器人控制系统中的指令,并控制机器人在平面内的移动 **
最新推荐文章于 2024-06-11 07:17:12 发布