有以下程序: #include<stdio.h> int f(int n) { static int a=1; n+=a++; return n; } main( ) { int a=3,s: s=f(a);s=s+f(a); printf("%d\n",

admin2022-06-24  26

问题 有以下程序:
#include<stdio.h>
int f(int n)
{
static int a=1;
n+=a++;
return n;
}
main( )
{
int a=3,s:
s=f(a);s=s+f(a);
printf("%d\n",s);
}
程序运行以后的输出结果是(          )。

选项 A、7
B、8
C、9
D、10

答案C

解析 在函数f中,整型变量a为静态变量,所以每次调用函数f时不再为a重新赋值,而且a的值只有在程序结束时才被释放。第一次调用f后n=4,a=2;第二次调用时,a已经变成2了,所以结果为4+5=9。
转载请注明原文地址:https://jikaoti.com/ti/w6d0FFFM
0

最新回复(0)