求助!改错题,帮忙看看是哪儿错了?
下面的函数实现在一个固定的数上加上一个数,有什么错误,改正
int add_n(int n)
{
static int i=100;
i+=n;
return i;
}
[解决办法]
int add_n(int n)
{
static int i=100;
i = 100;
i+=n;
return i;
}
[解决办法]
int add_n(int n)
{
static int i=100;
int j = i;
j+=n;
return j;
}
[解决办法]
int add_n(int n)
{
static int i=100; //static只初始化一次,
i+=n; //这里每次都更新了i的值,比如第一次执行add_n(1)后函数内的i=101了
return i; //等下一次再加就是以101为基础加
}
[解决办法]
顺便学习下~~~~~~~
[解决办法]
Static 类型的数只能初始化一次
int add_n(int n)
{
static int i=100;//这里i被初始化100,以后i的值被记录
i+=n;
return i;
}
同意jxlczjp770的观点
[解决办法]
static i 在函数返回之后不会释放,也就是77说的只初始化一次。
另外,有些编译器在变量声明的时候赋值的时候会出错,碰到过。。。。很诧异
[解决办法]
吐血。
一心只看语法。
你得说出你的用意才知道错了没有。