函數f定義如下,執行語句“sum=f(4)+f(2);”后,sum的值應為( )。
為什么答案選C呢?
int f(int m)
{
static int i=0;
int s=0;
for(;i<=m;i++)
s+=i;
return s;
}
A、13
B、16
C、10
D、8
解答:
因為i為靜態變量,靜態變量的值從第一次使用而創建,到程序結束時才釋放內存,因為在調用f(4)后,i已經為5,當在調用f(2)時,由于i<=m的條件已經為假,故不再執行,因此最終為10即C,
新聞熱點
疑難解答