免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1826 | 回复: 6
打印 上一主题 下一主题

[函数] 静态局部变量问题????? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-10-17 10:02 |只看该作者 |倒序浏览
x=f1(2)+f1(2)
y=f2(2)+f2(2)



int f1(n)
{
   int i=1;
n+=i;
return  n;
}

int f2(n)
{
   static int i=1;
n+=i;
return n;
}


x=?,y=?

论坛徽章:
0
2 [报告]
发表于 2008-10-17 10:10 |只看该作者
6 6
那个静态i的值没变

论坛徽章:
0
3 [报告]
发表于 2008-10-17 10:15 |只看该作者

上面题目有误,改之

上面题目有误,改之

x=f1(2)+f1(2)
y=f2(2)+f2(2)



int f1(n)
{
   int i=1;
i+=n;
return  i;
}

int f2(n)
{
   static int i=1;
i+=n;
return i;
}


x=?,y=?

论坛徽章:
0
4 [报告]
发表于 2008-10-17 10:16 |只看该作者

回复 #2 204tian 的帖子

上面题目有误,改之


上面题目有误,改之

x=f1(2)+f1(2)
y=f2(2)+f2(2)



int f1(n)
{
   int i=1;
i+=n;
return  i;
}

int f2(n)
{
   static int i=1;
i+=n;
return i;
}


x=?,y=?


是68么

论坛徽章:
0
5 [报告]
发表于 2008-10-17 10:26 |只看该作者
是6和8,static int i=1; 只会执行一次

论坛徽章:
0
6 [报告]
发表于 2008-10-17 10:28 |只看该作者

回复 #4 路人乙,在路上 的帖子

对啊
第一次运行f2(2)后, i=3;
第二次运行后i就是3+2=5了

论坛徽章:
0
7 [报告]
发表于 2008-10-17 10:31 |只看该作者
变量定义只有一次
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP