[求助]一个诡异的问题:static和形参
1、理论上讲,形参具有局部变量的性质,也就是说,如果不加static,它的生存期为函数运行期;
2、static可以将一个局部变量的生存期保持在整个程序执行期间。
3、如果将一个形参用关键字static修饰又会是什么结果呢?
例如:
#include <stdio.h>
int max( static int x, static int y );
void main( void )
{
int a = 5;
int b = 7;
int e = 1;
int f = 8;
int m1, m2;
m1 = max( a, b );
m2 = max( e, f );
}
int max( static int x, static int y )
{
return x > y? x : y;
}
程序运行时,在两次调用max()函数期间,x和y的值并未保持,是static对形参不起作用吗?还是别的原因?
请大家不吝指教!!