| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1391 人关注过本帖
标题:[求助]有一道关于"static"程序题的输出结果我想不明白
只看楼主 加入收藏
inku
Rank: 1
等 级:新手上路
帖 子:122
专家分:0
注 册:2006-8-6
收藏
得分:0 
可是答案为什么是6,15,15?怎么会有3个?
2006-08-22 22:40
编程新贵
Rank: 1
等 级:新手上路
帖 子:98
专家分:0
注 册:2006-8-11
收藏
得分:0 
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))); }


1,fun(a+fun(d))
最里面的fun(d)=p+d=1+5=6      显示d=6,返回d=6,
2,fun(9)=p+d=9+6=15 因为是静态变量 d的值被覆盖为6
                        显示15,返回15
所以是6,15才对
                       
2006-08-23 01:32
yeshirow
Rank: 4
等 级:贵宾
威 望:10
帖 子:854
专家分:0
注 册:2006-6-8
收藏
得分:0 
printf(...fun(a + fun(d)));

fun(d) ----------------> printf 1 =====> 6
fun(a+fun(d) ----------> printf 2 =====> 15
printf(...fun(a+fun(d)));printf 3 =====> 15

前兩個由 fun 函數中的 printf 列印
後一個由 main 函數中的 printf 列印

原來朋友仔感情再天真, 亦是我永遠也會愛惜的人, 明日愛他人, 也記住學會不要緊; 原來朋友比戀人更高分, 亦讓我開始懂得不記恨, 若大家都敏感, 我更要永遠記得拒絕再因小事怪人, 爲何沒有這條校訓...Twins-朋友仔 MCSD Training
2006-08-23 02:14
横眉冷对
Rank: 1
等 级:新手上路
帖 子:87
专家分:0
注 册:2005-3-3
收藏
得分:0 

楼上正解!


MSN:jyycom@ 爱好:军事,体育,Rock。
2006-08-23 10:39
快速回复:[求助]有一道关于"static"程序题的输出结果我想不明白
数据加载中...
 
   



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

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