- /*******************v1.8:定义一个求步长与步角度的函数*******************/
- void StepAng(int *x,int *y)//x=Step,Ang,y=Fa,S
- {
- //double x=&Step,&Ang,隐含操作:将Step,Ang的地址赋予x,v1.8:
- //double y=&Fa,&S隐含操作:将Fa,S的地址赋予y,v1.8:
- for (int i=0;i<200;i++) //v1.8:(*y=0;*y<200;*y++),这样不行,结果错误
- {
- *y=i; //*y的地址为&Fa,&S(此时*y的值为i的值)
- Eva();
- double Max=*TJ[0]; //v1.7:赋予Max初始值
- double Min=*TJ[0]; //v1.7:赋予Min初始值
- Serial.print(Max);
- Serial.println(Min);
- /*******************v1.8:找出*TJ[18]内的最值*******************/
- for (int i=0;i<18;i++)
- {
- if (*TJ[i]>Max)
- {
- Max=*TJ[i];
- }
- if (*TJ[i]<Min)
- {
- Min=*TJ[i];
- }
- }
- Serial.print(Max);
- Serial.println(Min);
- if (Min<=20 || Max>=160) break;//*TJ[18]内的最值一旦超出限制,即退出for (int i=0;i<200;i++)循环
- }
- Serial.println(*y);
- *x=*y; //*x的地址为&Step,&Ang;*y的地址为&Fa,&S(此时*y的值为,退出for (int i=0;i<200;i++)循环时,i的值)
- *y=0;
- }
复制代码 for语句能使用指针吗 如下:
for (int *y=0;*y<200;*y++) |