void fun(、)
{
static int a=0:
a+=2;printf("%d",a);
}
main()
{ int cc;
for(CC=1;cc<4;cc++)fun();
printf("\n");
}
答案:【15】2 4 6
评析:static声明的外部变量只限于被本文件引用,而不能被其他文件引用。用static来声明一个变量的作用有:①对局部变量用static声明,则为该变量分配的空间在整个程序执行期间始终存在;②全部变量用static声明,则该变量的作用域只限于本文件模块(即被声明的文件中)。
(15)下列程序的运行结果是 【16】 。
main()
{ union EXAMPLE
{ struct
{int x;int y;}in;
int a;
int b:
}e;
e.a=1;e.b=2;
e.in.x=e.a*e.b;
e.in.y=e.a+e.b;
printf("%d,%d\n",e.in.x,e.in.y);
}
答案:【16】4,8
评析:c语言规定,共用体中各个成员变量在内存中占用同一段内存单元,即e.in.x和e.a、e.b占用同一段内存单元,由于e.in.x和e.a、e.b占用的是同一段内存单元,所以程序最后的打印结果为"4,8"。
(16)在对文件进行操作的过程中,若要求文件的位置回到文件的开头,应当调用的函数 是 【17】 函数。
答案:【17】[NNlrewind或fseek
评析:在对文件进行操作的过程中,若要求文件的位置回到文件的开头,可以调用rewind或fseek函数。其中rewind函数的作用是将位置指针重新返回文件的开头,而fseek函数可以实现文件指针的定位。
(17)以下函数用于求出一个2×4矩阵中的最大元素值。