| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 323 人关注过本帖
标题:对于函数调用请高手指点一二,不甚感激
只看楼主 加入收藏
因为曾今年少
Rank: 2
等 级:论坛游民
帖 子:131
专家分:62
注 册:2011-4-13
结帖率:92.31%
收藏
 问题点数:0 回复次数:3 
对于函数调用请高手指点一二,不甚感激
fun(int a)
{ int b=0; static int c=3;
b+ +; c+ +;
return(a+b+c);
二级C 语言程序设计试卷第 13 页(共13 页)
}
main( )
{ int i, a=5;
for(i=0;i<3;i+ +)printf("%d%d",i,fun(a));
printf("\n");
}
这个fun()函数中return的返回值是怎么样从1变到12的,我个人认为返回值是10、12、13,但是运行结果却不是
到底问题出在哪里还请高手给个解析……同时被调用的函数里面的static是什么作用呢?
搜索更多相关主题的帖子: return 
2011-04-14 14:38
jlu_uestc
Rank: 2
等 级:论坛游民
帖 子:30
专家分:14
注 册:2011-4-14
收藏
得分:0 
程序没什么问题
 #include<stdio.h>
fun(int a)
{ int b=0;
static int c=3;
b++;//两个加号之间没有空格
c++;
return(a+b+c);

}
main( )
{ int i, a=5;
for(i=0;i<3;i++)
printf("%d %d\n",i,fun(a));
printf("\n");
}
运行结果应该是:
0 10
1 11
2 12
2011-04-14 14:53
jlu_uestc
Rank: 2
等 级:论坛游民
帖 子:30
专家分:14
注 册:2011-4-14
收藏
得分:0 
static的作用是使C的值保持上一次函数调用时的值
2011-04-14 14:54
青河隐
Rank: 2
等 级:论坛游民
帖 子:5
专家分:10
注 册:2011-4-14
收藏
得分:0 
static与auto相对,不过auto一般省略,static就像楼上说的,每一次调用的数值都被保存下来
2011-04-14 16:24
快速回复:对于函数调用请高手指点一二,不甚感激
数据加载中...
 
   



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

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