极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9136|回复: 2

for语句能这样做吗

[复制链接]
发表于 2012-10-3 23:29:28 | 显示全部楼层 |阅读模式
  1. /*******************v1.8:定义一个求步长与步角度的函数*******************/

  2. void StepAng(int *x,int *y)//x=Step,Ang,y=Fa,S
  3. {
  4. //double x=&Step,&Ang,隐含操作:将Step,Ang的地址赋予x,v1.8:
  5. //double y=&Fa,&S隐含操作:将Fa,S的地址赋予y,v1.8:
  6.   for (int i=0;i<200;i++) //v1.8:(*y=0;*y<200;*y++),这样不行,结果错误
  7.   {
  8.     *y=i;  //*y的地址为&Fa,&S(此时*y的值为i的值)
  9.     Eva();
  10.     double Max=*TJ[0]; //v1.7:赋予Max初始值
  11.     double Min=*TJ[0]; //v1.7:赋予Min初始值
  12.     Serial.print(Max);
  13.     Serial.println(Min);
  14. /*******************v1.8:找出*TJ[18]内的最值*******************/   
  15.     for (int i=0;i<18;i++)
  16.     {
  17.       if (*TJ[i]>Max)
  18.     {
  19.       Max=*TJ[i];
  20.     }
  21.       if (*TJ[i]<Min)
  22.     {
  23.       Min=*TJ[i];
  24.     }
  25.    }
  26.    Serial.print(Max);
  27.    Serial.println(Min);
  28.    if (Min<=20 || Max>=160) break;//*TJ[18]内的最值一旦超出限制,即退出for (int i=0;i<200;i++)循环
  29.   }
  30.    Serial.println(*y);
  31.    *x=*y; //*x的地址为&Step,&Ang;*y的地址为&Fa,&S(此时*y的值为,退出for (int i=0;i<200;i++)循环时,i的值)
  32.    *y=0;
  33. }
复制代码
for语句能使用指针吗 如下:
for (int *y=0;*y<200;*y++)
回复

使用道具 举报

发表于 2012-10-5 08:31:45 | 显示全部楼层
程序小白帮顶,指针一直不理解是啥。。。。
回复 支持 反对

使用道具 举报

发表于 2012-10-5 14:57:12 | 显示全部楼层
本帖最后由 histamine 于 2012-10-5 14:58 编辑

for循环可以用指针,不过LZ的用法有问题

-> for (int *y=0;*y<200;*y++)
指针变量y中存放的地址是0,y是一个空指针

举一个for循环中用指针的例子:
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>

  4. int is_contain_of( const char *strarray, const char *str )
  5. {
  6.         const char *p;
  7.         for( p = strarray; *p; p += strlen( p ) + 1 )
  8.                 if ( 0 == strcmp( p, str ) )
  9.                         return 1;
  10.         return 0;
  11. }

  12. int main(void)
  13. {
  14.         if ( is_contain_of( "foo\0bar\0", "foo" ) )
  15.                 printf( "True\n" );
  16.         else
  17.                 printf( "False\n" );
  18.         system( "pause" );
  19.         return 0;
  20. }
复制代码
要理解指针是啥 学下汇编就行了 汇编比C语言简单(就是繁琐一些)
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-3-28 20:13 , Processed in 0.041722 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表