| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 494 人关注过本帖
标题:这个程序该怎么解释?
只看楼主 加入收藏
王璐
Rank: 2
等 级:论坛游民
帖 子:126
专家分:54
注 册:2010-7-26
结帖率:93.1%
收藏
已结贴  问题点数:5 回复次数:7 
这个程序该怎么解释?
这个程序怎么解释?#include<stdio.h>
int a=2;
int f(int n)
{
    static int a=3;
    int t=0;
    if(n%2)
    {
        static int a=4;
        t+=a++;
    }
    else
    {
        static int a=5;
        t+=a++;
    }
    return(t+a++);
}
void main()
{
    int s=a,i;
    for(i=0;i<3;i++)
        s+=f(i);
    printf("%d\n",s);
}
搜索更多相关主题的帖子: 解释 
2010-09-17 19:43
清风拂晓
Rank: 8Rank: 8
来 自:火星
等 级:蝙蝠侠
威 望:1
帖 子:356
专家分:889
注 册:2010-8-13
收藏
得分:0 
建议你 看下C语言那本书 这些问题就很简单了

清风拂暮(木)
2010-09-18 11:17
Crocodile_JX
Rank: 5Rank: 5
等 级:职业侠客
帖 子:161
专家分:335
注 册:2010-9-13
收藏
得分:0 
if括号里面求的是余数,当为0的时候就是假,其他的就为真。
 t+=a++;相当于t=a+t,   a=a+1;其他应该没有大问题了。
2010-09-18 13:15
Invariably
Rank: 2
等 级:论坛游民
帖 子:54
专家分:46
注 册:2010-9-18
收藏
得分:0 
要注意a++和++a的区别,前者是此语句结束后a的值加一,后者是语句没有结束时就加一了!
2010-09-18 14:36
王璐
Rank: 2
等 级:论坛游民
帖 子:126
专家分:54
注 册:2010-7-26
收藏
得分:0 
主要是那个static啊!!!!
2010-09-18 17:55
A13433758072
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广东潮州
等 级:小飞侠
威 望:1
帖 子:1182
专家分:2784
注 册:2010-7-22
收藏
得分:5 
说你基础不好就是不信,那是要声明这个变量的的作用域只限这个函数里,static这个表示这个变量是静态存储的。

一步一个脚印...............................默默地前进.....
诚邀乐于解答c菜鸟问题,的热心网友加入,  QQ群38490319
2010-09-18 18:15
jack10141
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:陕西西安
等 级:小飞侠
威 望:6
帖 子:706
专家分:2271
注 册:2010-8-10
收藏
得分:0 
你自己阅读下吧:
程序代码:
对静态局部变量的说明:
(1)  静态局部变量属于静态存储类型,在静态存储区内分配存储单元。在程序整个运行期间都不释放。而自动变量(即动态局部变量)属于动态存储类型,占动态存储空间,函数调用结束后即释放。
(2)  静态局部变量在编译时赋初值,即只赋初值一次;而对自动变量赋初值是在函数调用时进行,每调用一次函数重新给一次初值,相当于执行一次赋值语句。
(3)  如果在定义局部变量时不赋初值的话,则对静态局部变量来说,编译时自动赋初值0(对数值型变量)或空字符(对字符变量);而对自动变量来说,如果不赋初值则它的值是一个不确定的值。

Coding就像一盒巧克力,你永远不会知道你会遇到什么BUG
别跟我说你是不能的,这让我愤怒,因为这侮辱了你的智慧
2010-09-18 18:28
真我
Rank: 4
等 级:业余侠客
威 望:1
帖 子:146
专家分:210
注 册:2010-7-14
收藏
得分:0 
呵呵,问题真多
2010-09-18 20:23
快速回复:这个程序该怎么解释?
数据加载中...
 
   



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

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