| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 385 人关注过本帖
标题:还是函数问题
只看楼主 加入收藏
plane5530
Rank: 1
等 级:新手上路
帖 子:76
专家分:0
注 册:2007-1-19
结帖率:83.33%
收藏
 问题点数:0 回复次数:5 
还是函数问题
#include "stdio.h"
fun(int b)
{static int a=4;
a+=b;
return (a);
}
main()
{int a=1,b=2,n;
n=fun(a);
n=fun(b);
printf("%d\n",n);
}
请问运行后的结果?
搜索更多相关主题的帖子: 函数 
2007-04-13 13:31
Javal
Rank: 1
等 级:新手上路
威 望:1
帖 子:108
专家分:0
注 册:2006-5-7
收藏
得分:0 
#include "stdio.h"
int fun(int b)
{static int a=4;
a+=b;
return (a);
}
main()
{int a=1,b=2,n;
n=fun(a);
n=fun(b);
printf("%d\n",n);
}

结果是7,静态局部变量有记忆功能

猝然临之而不惊,无故加之而不怒 /?spaced" target="_blank">Linux C资料
2007-04-13 13:38
初学Delphi
Rank: 3Rank: 3
等 级:新手上路
威 望:9
帖 子:330
专家分:0
注 册:2006-4-4
收藏
得分:0 

是7么?我怎么感觉是6
也不是太懂
有记忆功能说的应该是全局变量吧?

2007-04-13 13:53
plane5530
Rank: 1
等 级:新手上路
帖 子:76
专家分:0
注 册:2007-1-19
收藏
得分:0 
Javal兄,能详细给解释下吗?谢谢了
2007-04-13 14:33
lhpjj
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2006-11-29
收藏
得分:0 
是7的啊~~
2007-04-13 14:45
Javal
Rank: 1
等 级:新手上路
威 望:1
帖 子:108
专家分:0
注 册:2006-5-7
收藏
得分:0 
#include "stdio.h"
int fun(int b)
{static int a=4;
a+=b;
return (a);
}
main()
{int a=1,b=2,n;
n=fun(a);
// int fun(int b) // a作为参数传递给fun(),即 b=1 (a=1)
// {static int a=4; // 声明静态局部变量 a, 并赋初值为4
// a+=b; // 这个a是上面声明的静态局部变量a, a=a+b=4+1=5
// return (a); // 返回a的值,即5;n此时的值为5
// }

n=fun(b);
// int fun(int b) // b作为参数传递给fun(),即 b=2 (b=2)
// {static int a=4; // a为静态局部变量,只被初始化一次,下一次依据上一次的结果值,因此a的值为5
// a+=b; // a=a+b=5+2=7
// return (a); // 返回a的值,即7;n此时的值为7
// }
printf("%d\n",n);
}

猝然临之而不惊,无故加之而不怒 /?spaced" target="_blank">Linux C资料
2007-04-13 14:56
快速回复:还是函数问题
数据加载中...
 
   



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

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