C语言:函数调用时在函数内声明的变量所得到的值将无法保存到该函数的下一次调用,错在哪?
5个回答
展开全部
# cat test.c
#include <stdio.h>
void self_add(void)
{
static sum = 0; #注意这是static声明
sum++;
printf("%d\n", sum);
}
main() {
self_add();
self_add();
self_add(); # 执行3遍
}
执行结果:
# ./a.out
1
2
3
结论: self_add内声明的变量sum的值_可以_保存到该函数的下次调用
#include <stdio.h>
void self_add(void)
{
static sum = 0; #注意这是static声明
sum++;
printf("%d\n", sum);
}
main() {
self_add();
self_add();
self_add(); # 执行3遍
}
执行结果:
# ./a.out
1
2
3
结论: self_add内声明的变量sum的值_可以_保存到该函数的下次调用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
函数执行完之后,会释放它执行时所申请占用的内存,所以存不住啊。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
对于指针,可以保存到外部,内部定义,值赋值给外部指针或全局变量
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是不是超过了此变量的作用域?或者传值过程出现问题了呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询