3 回答

TA貢獻28條經驗 獲得超15個贊
選C?:26? ,因為在incre函數(shù)中,x被定義為static,就是當incre函數(shù)調用結束之后,x的值依然在內存中保存,所以第一次調用incre函數(shù)之后,x的值是2,并輸出,第二次調用incre函數(shù)時,x的值是2,計算之后是6,并輸出。

TA貢獻195條經驗 獲得超115個贊
C
百度百科:static
靜態(tài)局部變量有以下特點:
該變量在全局數(shù)據(jù)區(qū)分配內存;
*靜態(tài)局部變量在程序執(zhí)行到該對象的聲明處時被首次初始化,即以后的函數(shù)調用不再進行初始化;
靜態(tài)局部變量一般在聲明處初始化,如果沒有顯式初始化,會被程序自動初始化為0;
它始終駐留在全局數(shù)據(jù)區(qū),直到程序運行結束。但其作用域為局部作用域,當定義它的函數(shù)或語句塊結束時,其作用域隨之結束;

TA貢獻1017條經驗 獲得超1032個贊
靜態(tài)變量的賦初值語句只會被執(zhí)行一次,以后的初值是上一次函數(shù)調用結束后靜態(tài)變量的值,
循環(huán)2次,第一次初值是1,x=1*(1+1),調用結束后輸出2,x的值保留為2,第二次,賦值語句失效,直接執(zhí)行x=2*(2+1)輸出6
結果輸出26
不過這里incre()函數(shù)沒有函數(shù)聲明,運行會報錯,兩個函數(shù)默認為int類型的返回值也沒有....

TA貢獻3593條經驗 獲得超1個贊
- 3 回答
- 0 關注
- 2367 瀏覽
添加回答
舉報