我爱占星网 我爱占星网
首页
编程
java
php
前端
首页 编程 java php 前端

c语言函数的调用问题


main() 

{ 

int k=4, m=1, p; 

p=func(k, m); 

printf("%d,", p); 

p=func (k,m); 

printf("%d\n", p); 

} 

func(int a,int b) 

{ 

static int m=0,i=2; 

i+=m+1 ; 

m=i+a+b; 

return(m); 

}

结果为什么是8,17求详细过程


int k=4, m=1, p;  
p=func(k, m);
i=2+1=3
m=3+4+1=8

p=func(k, m);//m,i是静态变量,函数结束他们的值依然保留着
i=3+8+1=12
m=12+4+1=17

直接打印一下不就知道了。这是因为static是申明的静态变量,它只能被赋一次初值,

img

近期文章

  • jflash F4擦除芯片时失败
  • 我们如何在zend框架上创建翻译验证错误消息?
  • 想把按键监听的数值整合一起显示在textview
  • 青龙京东试用脚本如何多账号申请
  • 蓝屏问题求知道的解答
  • 插入了jquery但是功能无法实现
  • 编码已改成ANSI,但是录入文档的信息还是乱码的解决方法
  • Spring Initializr Error
  • 输出阻抗本质定义是啥,怎么推导计算?
  • 我被电脑卡crazy了!
  • 使用PHP POST到Web API的最佳方法是什么?
  • Java helloworld
  • 建立一个SVM模型,用shap做特征分析的时候,shap value都是0
  • matlab运行regionprops函数报错
  • C语言,函数未被调用
  • 项目插入了jquery 功能也无法实现
  • C语言数字如何转字母
  • 是不是等着就好了呀,两天后吗
  • 设置按钮没反应求解决
  • 关于#hadoop#的问题:Hadoop集群环境搭建

Copyright ©2022 我爱占星 All Rights Reserved.

浙ICP备2022030071号-1

部分图文来自网络,如有侵犯您的版权,请告诉我们删除

友情链接:代码精华