一个测试静态变量作用的程序
#include <stdio.h>int main()
{
int f(int a);
int i = 0;
for(;i < 3;i++)
{
printf("%d\n",f(2));
}
return 0;
}
int f(int a)
{
int m = 0;
static int n= 3;
n = n + 1;
m = n + a;
return(m);
} 本帖最后由 jackz007 于 2019-10-29 15:48 编辑
其实,楼主的代码可以更加简练一些:
#include <stdio.h>
int f(int a) // 被调用函数位置先于调用函数可以免去调用前的声明。
{
static int n = 3 ;
return n ++ + a;
}
int main(void)
{
int i ;
for(i = 0 ; i < 3 ; i ++ ) printf("%d\n" , f(2)) ;// 函数 f() 定义在前面已经出现,所以,这里可以不用声明,直接调用。
} jackz007 发表于 2019-10-29 15:42
其实,楼主的代码可以更加简练一些:
好的,谢谢您! jackz007 发表于 2019-10-29 15:42
其实,楼主的代码可以更加简练一些:
请问你可以介绍一下第六行代码的运算顺序吗?我不是很清楚。谢谢! 54黑科技 发表于 2019-10-29 15:51
请问你可以介绍一下第六行代码的运算顺序吗?我不是很清楚。谢谢!
自然是使用过 n 的值以后才 n = n + 1 的。
页:
[1]