问答详情
源自:5-11 变量存储类别

请大神帮忙啦!

问一些可能小白的问题,请大神指教 1.void定义的函数不是不能有返回值的嘛?那为何fn()最后可以输出x=2之类的?(不是问关于循环的) 2.static是静态变量,不就是说经static定义的值是始终不变的嘛?(在fn()循环一次之后,也就是说结果都应是x=2)在VB中是这样的,在这里为何不能这样理解?该如何理解这个问题呢?希望大神帮忙! 谢啦!

提问者:慕移动8546054 2015-01-31 20:08

个回答

  • linkin55
    2015-04-10 20:59:54

    这里这个fn(),返回的是printf这个操作,可以归在void类型里面。

    静态变量,叫变量的值当然能变化,静态说的是它的存在周期。

  • onemoo
    2015-01-31 21:51:20

    static是一个storage class specifier。

    定义在一个函数中的static变量,static指的是其生存期(duration)是静态的,也就是它的值只会在程序开始时初始化一次,但这个变量本身会在多次函数调用中共享。

    所以在fn()的多次调用中可以一次次地将其乘以2。

  • _Exception
    2015-01-31 20:45:19

    void 的函数就是不用 return ,