当前位置:首页 » 编程语言 » c语言静态检查

c语言静态检查

发布时间: 2022-12-10 11:14:43

① C语言中静态存储类型问题

楼主你好!
代码分析如下!
#include <stdio.h>
int func(int x)
{int y=0;
static int z=3; //此处是静态变量,静态变量直到整个程序运行完才释放,局部变量则是执行完该段函数后就释放,这里的y,就是跟例子,所以每次运行fun函数y都是0,然后y++后为1,而z则不同,由于for循环执行了两次,第一次z++后为4,第二次z++后为5
x=z++,y++; //这里虽然是逗号表达,但是=的运算优先级是大于逗号的,所以,x实际上第一次循环是被赋予3,第二次是赋予了4,估计很多人会误认为x是取到y的值,实际上错误的!
return(x);
}
int main()
{int a=2,i,b;
for(i=0;i<2;i++) //循环两次
b=func(a++); //调用fun函数
printf("%d\n",b); //输出b的值
}

最终结果是输出4!
希望我的回答对你有帮助!有什么不清楚的,请继续追问!

热点内容
zynqsdk修改编译选项 发布:2025-01-21 09:22:30 浏览:874
存储器部件教学实验 发布:2025-01-21 09:14:06 浏览:178
php安装memcached扩展 发布:2025-01-21 09:07:06 浏览:545
手机缓存视频到电脑上 发布:2025-01-21 09:07:02 浏览:977
如果知道服务器ip有什么风险 发布:2025-01-21 09:06:58 浏览:524
在压缩曲线 发布:2025-01-21 09:05:31 浏览:909
华山算法 发布:2025-01-21 08:44:48 浏览:366
如何在微信上再设置一个密码 发布:2025-01-21 08:44:39 浏览:731
浙江服务器搭建云主机 发布:2025-01-21 08:41:38 浏览:452
光遇和王者荣耀哪个需要的配置高 发布:2025-01-21 08:40:28 浏览:13