| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1161 人关注过本帖
标题:C语言小白,请给大神讲解下面程序,对于输出结果不是很理解~
只看楼主 加入收藏
DHZFSYJ
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2019-7-11
结帖率:0
收藏
已结贴  问题点数:20 回复次数:4 
C语言小白,请给大神讲解下面程序,对于输出结果不是很理解~
程序代码:
int k;
static int j;
void fun1(void)
{
    static int i = 0;
    i ++;
    printf("i = %d ",i);
}
void fun2(void)
{
    j = 0;
    j++;
    printf("j = %d ",j);
}
int main()
{
    for(k=0; k<10; k++)
    {
        fun1();
        fun2();
        printf("\n");
    }
    return 0;
}

图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: C语言 讲解 结果 int void 
2019-07-11 14:28
吕孟伟
Rank: 8Rank: 8
等 级:贵宾
威 望:27
帖 子:200
专家分:870
注 册:2018-10-4
收藏
得分:5 
你可以看一下static 的内容。https://doc.bccnsoft.com/docs/cppreference2018/en/c/language/storage_duration.html
j是全局变量,变量i经static 修饰后是函数fun1的局部变量,只初始化一次。

借用一下侯捷的话:勿在浮沙筑高台。
2019-07-11 15:39
c小白2333
Rank: 5Rank: 5
来 自:中国
等 级:贵宾
威 望:11
帖 子:121
专家分:367
注 册:2019-6-17
收藏
得分:5 
fun1中 static int i = 0 你可以理解为只运行一次  
然后接下来再次进入 fun1  就只运行 i++了 所以输出 1 2 3 。。。
fun2 中  每次进入  都先给j 赋值为  0
然后 j++   j 的值为1  所以一直输出1
希望有所帮助

宝剑锋从磨砺出,梅花香自苦寒来。
2019-07-14 15:19
Q14978
Rank: 1
等 级:新手上路
帖 子:1
专家分:5
注 册:2019-7-14
收藏
得分:5 
那个大佬教我学脚本啊
2019-07-14 16:34
zbjzbj
Rank: 12Rank: 12Rank: 12
来 自:郑州
等 级:贵宾
威 望:52
帖 子:633
专家分:3045
注 册:2011-4-22
收藏
得分:5 
#include "stdio.h"
int k;
static int j;
void fun1(void)
{
    static int i ;//= 0;
    i=0;
    i ++;
    printf("i = %d ",i);
}
void fun2(void)
{
    j = 0;
    j++;
    printf("j = %d ",j);
}
int main()
{
    for(k=0; k<10; k++)
    {
        fun1();
        fun2();
        printf("\n");
    }
    return 0;
}
static变量在程序运行过程中,只定义一次,程序结束之前一直有效。函数退出,static变量依然存在。

int k;
static int j;//只允行一次
void fun1(void)
{
    static int i = 0;//只运行一次。因为在定义的时候初始化了,所以i=0也只运行一次。
    i ++;
    printf("i = %d ",i);
}
void fun2(void)
{
    j = 0;
    j++;
    printf("j = %d ",j);
}
int main()
{
    for(k=0; k<10; k++)
    {
        fun1();
        fun2();
        printf("\n");
    }
    return 0;
}
2019-07-14 16:52
快速回复:C语言小白,请给大神讲解下面程序,对于输出结果不是很理解~
数据加载中...
 
   



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

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