| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1393 人关注过本帖
标题:[求助]有一道关于"static"程序题的输出结果我想不明白
只看楼主 加入收藏
inku
Rank: 1
等 级:新手上路
帖 子:122
专家分:0
注 册:2006-8-6
收藏
 问题点数:0 回复次数:23 
[求助]有一道关于"static"程序题的输出结果我想不明白
以下程序的输出结果是
int d=1;
fun(int p)
{ static int d=5;
d+=p;
printf("%d ",d);
return(d);
}
main()
{ int a=3; printf("%d \n",fun(a+fun(d))); }
A: 6 9 9
B: 6 6 9
C: 6 15 15
D: 6 6 15
答案: C
我是这样想的,fun(d)=fun(1)=6 a+fun(d)=9 fun(9)=5+9=14,答案怎么会是c,怎么也想不通

[此贴子已经被作者于2006-8-23 19:28:46编辑过]

搜索更多相关主题的帖子: 结果 static 输出 
2006-08-21 22:26
ミつン戀ン
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-8-21
收藏
得分:0 
这是你自己写的?我学的return后面怎么不用加括号?

2006-08-21 22:32
inku
Rank: 1
等 级:新手上路
帖 子:122
专家分:0
注 册:2006-8-6
收藏
得分:0 
加与不加应该都可以的吧.
2006-08-21 22:58
ミつン戀ン
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-8-21
收藏
得分:0 

实在不懂就调试吧.我去调调看


2006-08-21 23:03
ridwsc
Rank: 1
等 级:新手上路
帖 子:168
专家分:0
注 册:2006-8-10
收藏
得分:0 
以下是引用ミつン戀ン在2006-8-21 22:32:12的发言:
这是你自己写的?我学的return后面怎么不用加括号?

加与不加是一样的,没什么区别的,


中国加油,加油,加油~~~~~ 我行~~我可以~~C
2006-08-21 23:10
ミつン戀ン
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-8-21
收藏
得分:0 
static int d=5;这个程序根本没有执行

2006-08-21 23:11
ミつン戀ン
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-8-21
收藏
得分:0 

调了下第一次返回的值是7


2006-08-21 23:14
inku
Rank: 1
等 级:新手上路
帖 子:122
专家分:0
注 册:2006-8-6
收藏
得分:0 
我找不出我的推定错在哪里,我是一步一步算出来的"fun(d)=fun(1)=6   a+fun(d)=9  fun(9)=5+9=14,"可是就是不知道错那里
2006-08-21 23:29
ミつン戀ン
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-8-21
收藏
得分:0 
我也看不出了..等待高手来.呵呵..!我觉得问题就是在那2个变量.都一样的名字.到底哪里用全局哪里用那个静态局部?

2006-08-21 23:31
inku
Rank: 1
等 级:新手上路
帖 子:122
专家分:0
注 册:2006-8-6
收藏
得分:0 
以下是引用ミつン戀ン在2006-8-21 23:31:05的发言:
我也看不出了..等待高手来.呵呵..!我觉得问题就是在那2个变量.都一样的名字.到底哪里用全局哪里用那个静态局部?

你也算是一个高手了,呵呵

2006-08-22 00:08
快速回复:[求助]有一道关于"static"程序题的输出结果我想不明白
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017596 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved