一道C語言和static有關的題

2021-08-17 05:59:29 字數 516 閱讀 6794

有以下程式:

#include

fun(int x, int y)

main()

執行後的輸出結果是( a )。

a) 5, 11

b) 5, 5

c) 11, 11

d) 11, 5

i+=m+1含義為:i=i+m+1.

第一次呼叫子程式fun時,賦值得:x=j=1,y=m=1.而子程式裡m=0,i=2.所以

執行i+=m+1得 i=3; 執行m=i+x+y得 m=5. 同時返回值m=5,即把5賦值給fun,即k=5,輸出k=5.在這次呼叫中x、y值沒改變,所以fun(j,m)中的j、m值不變。

第二次呼叫fun時,賦值還得:x=j=1,y=m=1。而此時,因m、i為static型變數,即靜態變數,它們保持上次執行結果即m=5,i=3,通過運算的m=11.

要考計算機二級的同學刷題的時候遇到這道題,問我。我居然也懵了。欸,我這專業課學得也太辣雞了……

扎心了~~~

一道static型別筆試題

includeint fun int tmp static int loop 20 static int count 5 int tmain int argc,tchar argv return 0 程式輸出結果 當時看完程式我給出的答案 local static 那一列全是29,而global那一...

記錄一道C語言題目

很簡單的乙個題。磨磨腦子,最近有點手生。題目 統計各位數字之和是5的數 本題要求實現兩個函式 乙個函式判斷給定正整數的各位數字之和是否等於5 另乙個函式統計給定區間內有多少個滿足上述要求的整數,並計算這些整數的和。我講得可能不算很清楚,具體請檢視題目鏈結 實現 include include def...

一道C語言的問題 II

fj haozi description haozi很淘氣,最近fj帶了很多好吃的,haozi乘fj不在的時候就吃了很多好吃的,fj回來發現了,決定一定要抓住haozi。但是haozi很聰明,假設原來他在16號樓,那麼下一分鐘必定是在15號樓或者17號樓.如果他一開始在1號樓,那麼下一分鐘只能在2號...