gole 发表于 2015-1-2 00:53:23

新手学习到static 时遇到问题

本帖最后由 gole 于 2015-1-2 00:56 编辑

请教 这段代码。怎样理解?能否给详细的注解。

static int i = 7; 怎样理解??



# include <stdio.h> /*头文件*/
int add(int a)/*定义整形函数,参数a*/
{
static int i = 7;
i = a + i;
return i;/*返回i的值*/
}



小甲鱼 发表于 2015-1-2 01:46:24

你可以对比下以下两个代码:

一、
#include <stdio.h>

int add(int a)
{
        static int i = 7;
        i = a + i;
        return i;
}

int main()
{
        printf("%d %d, %d", add(5), add(5), add(5));

        return 0;
}


二、

#include <stdio.h>

int add(int a)
{
        int i = 7;
        i = a + i;
        return i;
}

int main()
{
        printf("%d %d, %d", add(5), add(5), add(5));

        return 0;
}


页: [1]
查看完整版本: 新手学习到static 时遇到问题