|
|
前往: |
| static 小问题,,,见笑见笑~~ |
| 发表人 | 内容 | |
|---|---|---|
| 2011/09/18 20:57 |
|
|
|
[楼主位] 提刀上马
等级:
注册时间:![]() 2011/08/02 16:15 文章: 91 离线 |
#include
void fun1(void) { static int i=0; i++; printf("%d ", i); } void fun2(void) { j=0; j++; printf("%d ", j); } int main() { for(int k = 0; k < 5; k++) { fun1(); fun2(); printf("\n"); } getchar(); return 0; } 输出结果为: 1 1 2 1 3 1 4 1 5 1 也就是最后结果,i = 5, j = 1; 这个 i 的值有点不理解,,这儿的static难道不起作用么 麻烦哪位哥解释下 i 的这个static,不是全局变量的话,,是怎么处理的呢? 这儿的静态局部变量,,是怎么静态的呢??? |
|
|
||
| 2011/09/18 22:05 |
|
|
|
[1楼] 正点原子
等级:
注册时间:![]() 2010/12/02 10:41 文章: 8089 来自: 湖南 在线 |
回复【楼主位】 提刀上马 :
--------------------------------- 多看看c语言的书吧。 static就是静态的,他的值是不会丢失的。和你的全局变量效果差不多。 |
|
|
我的淘宝小店:http://shop62103354.taobao.com |
||
|
||
| 2011/09/20 18:35 |
|
|
|
[2楼] 提刀上马
等级:
注册时间:![]() 2011/08/02 16:15 文章: 91 离线 |
回复【1楼】 正点原子 :
--------------------------------- 嗯,谢哥,,这儿static定义局部变量是不是只执行一次呢?? |
|
|
||
| 2011/09/20 23:42 |
|
|
|
[3楼] 正点原子
等级:
注册时间:![]() 2010/12/02 10:41 文章: 8089 来自: 湖南 在线 |
回复【2楼】 提刀上马 :
--------------------------------- 初始化只执行一次,之后就一直保留上一次使用后的值。 |
|
|
我的淘宝小店:http://shop62103354.taobao.com |
||
|
||
| 2011/10/20 21:29 |
|
|
|
[4楼] tjpumanan
等级:
注册时间:![]() 2011/10/18 21:05 文章: 2 来自: 天津 离线 |
#include static int j;
这是什么意思啊? |
|
|
||
| 2011/10/20 22:13 |
|
|
|
[5楼] 正点原子
等级:
注册时间:![]() 2010/12/02 10:41 文章: 8089 来自: 湖南 在线 |
回复【4楼】 tjpumanan :
--------------------------------- 非标准写法,不建议使用。 我也不知道啥意思。 |
|
|
我的淘宝小店:http://shop62103354.taobao.com |
||
|
||
|
|
||
|
| 前往: |