smart_210_
zou_zhen
采纳率78.9%
2015-04-18 11:08 阅读 4.8k
已采纳

求教大神[--len]是什么意思?

求教大神,代码里面的--len是什么意思啊?特别是“--”这个符号代表什么啊?

 void reset(void* p, int len)
{
    while( len > 0 ) 
    {
        ((char*)p)[--len] = 0;
    }
}
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

9条回答 默认 最新

  • 已采纳
    xiangshudemeng xiangshudemeng 2015-04-20 13:06

    先做减法(减1),再引用。给个例子:
    int len=3;
    a=--len;
    则len先自减1,其值变为2,再引用len的值,因而a=2。与之类似的还有a=++len。

    点赞 评论 复制链接分享
  • 91program 91program 2015-04-18 11:11

    -- 是 C 语言标准的运行符
    功能:对 -- 后的变量先减1,再进行其它的运算。

    点赞 评论 复制链接分享
  • 91program 91program 2015-04-18 11:12

    在C和C++中,常在表达式中使用自增(++)和自减(--)运算符,他们的作用是使变量的值增1或减1,如:
    ++i(在使用i之前,先使i的值加1,如果i的原值为3,则执行j=++i后,j的值为4)
    --i (在使用i之前,先使i的值减1,如果i的原值为3,则执行j=--i后,j的值为2)
    i++ (在使用i之后,使i的值加1,如果i的原值为3,则执行j=i++后,j的值为3,然后i变为4)
    i--(在使用i之后,使i的值减1,如果i的原值为3,则执行j=i--后,j的值为3,然后i变为2)
    ++i是先执行i=i+1后,再使用i的值;而i++是先使用i的值后,再执行i=i+1。

    正确地使用++和--,可以使程序简洁、清晰、高效。请注意:
    自增运算符(++)和自减运算符(--)只能用于变量,而不能用于常量或表达式。
    ++和--的结合方向是“自右至左”。
    自增运算符(++)和自减运算符(--)使用十分灵活,但在很多情况下可能出现歧义性,产生“意想不到”的副作用。
    自增(减)运算符在C++程序中是经常见到的,常用于循环语句中,使循环变量自动加1。也用于指针变量,使指针指向下一个地址。

    点赞 评论 复制链接分享
  • oyljerry oyljerry 2015-04-18 11:36

    自减操作,等于len的值自己减一。你的代码等于从数组最后一个元素一一向前给值为0

    点赞 评论 复制链接分享
  • devmiao devmiao 2015-04-18 15:04

    --len就是先让len-1,然后返回len。
    完全没有必要玩弄这种技巧,写两行更好,这种程序不值得模仿

    点赞 评论 复制链接分享
  • u013897132 沈郎 2015-04-19 00:35

    先减一再进行其他运算。
    相当于
    void reset(void* p, int len)
    {
    while( len > 0 )
    {
    len=len-1
    ((char*)p)[len] = 0;
    }
    }

    点赞 评论 复制链接分享
  • a1193561652 纵横车 2015-04-19 07:41

    自减运算符,表示len先减一再运算,相当于len=len-1

    点赞 评论 复制链接分享
  • u011641885 linux_zhu 2015-04-19 09:51

    --len 就是把len这个变量自减1 --就是自减符号

    点赞 评论 复制链接分享
  • xiaxianga 夏湘宁 2015-04-19 15:14

    自减运算符
    类似的有++

    点赞 评论 复制链接分享

相关推荐