for语句能这样做吗
/*******************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; //v1.7:赋予Max初始值
double Min=*TJ; //v1.7:赋予Min初始值
Serial.print(Max);
Serial.println(Min);
/*******************v1.8:找出*TJ内的最值*******************/
for (int i=0;i<18;i++)
{
if (*TJ>Max)
{
Max=*TJ;
}
if (*TJ<Min)
{
Min=*TJ;
}
}
Serial.print(Max);
Serial.println(Min);
if (Min<=20 || Max>=160) break;//*TJ内的最值一旦超出限制,即退出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++) :L程序小白帮顶,指针一直不理解是啥。。。。 本帖最后由 histamine 于 2012-10-5 14:58 编辑
for循环可以用指针,不过LZ的用法有问题
-> for (int *y=0;*y<200;*y++)
指针变量y中存放的地址是0,y是一个空指针
举一个for循环中用指针的例子:#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int is_contain_of( const char *strarray, const char *str )
{
const char *p;
for( p = strarray; *p; p += strlen( p ) + 1 )
if ( 0 == strcmp( p, str ) )
return 1;
return 0;
}
int main(void)
{
if ( is_contain_of( "foo\0bar\0", "foo" ) )
printf( "True\n" );
else
printf( "False\n" );
system( "pause" );
return 0;
}要理解指针是啥 学下汇编就行了 汇编比C语言简单(就是繁琐一些)
页:
[1]