1樓:匿名使用者
static int x=0; 靜態區域性變數,只初始化一次,即這句只會執行一次
x+=1; //第二次就直接從本句開始執行increment()函式了,x為上次執行的結果
所以,三次輸出為 1 2 3
2樓:匿名使用者
static int x=0;
這樣定義的是靜態變數,只有首次執行到這句的時候才執行。
執行之後,x作為靜態變數,一直存在。
所以第一次執行increment後,列印出1,且x=1。
第二次呼叫increment的時候,就不走變數定義這句了,x已經為1了。
執行完畢後列印出2,x=2。
同理,第三次呼叫increment的時候,不走變數定義這句了,x已經為2了。
執行完畢後列印出3,x=3。
main函式裡的
increment();
是在呼叫increment()這個函式。依次呼叫了三次。
3樓:好心情
這個主要是對static變數的理解,static變數是在靜態儲存區分配的記憶體,函式執行完成是不會釋放的,所以會有儲存上一次執行結果的效果,每次呼叫是在上次執行結果的基礎上進行的
4樓:蝸牛要奔跑
static是靜態變數:給你說個好理解的,它具有記憶性,也就是說會記憶上一次操作的變化
c語言問題求解答,C語言問題 求解答
下面的 是幫你調整了的 你執行一下看看吧。其中修改的地方包括 1 幾個switch語句位置調整,調整之後才能正確選擇運算法則與表揚和鼓勵的語句。2 每次回答開始前對正確回答數j進行初始化為0,否則計數將錯誤。已經測試過可以執行。注意 由於運算中是整數與整數之間的計算,因此除法時結果也為整數部分,也就...
C語言問題求解謝謝,c語言程式設計問題,求解,謝謝。我的過程哪錯了
這個函式的作用是反向輸出2進位制數 具體解釋一下這個bin函式吧 首先,判斷x 2是否大於0,大於0 的時候呼叫bin x 2 其實就是把x除以2以後再次呼叫函式,所以這個函式每一次都會把原來的x的數字給除以2,一直到x等於1為止。這個時候函式結束。然後,這個bin函式輸出此時x對於2的餘數,當x等...
c語言問題小白求解答C語言問題小白求解答
首先,你需要明白a 和 a的區別。的位置決定了兩者的不同。a表示先自加,然後執行其他操作 a 表示先執行其他操作,然後自加。拿題目來說,首先輸入9賦予變數a。然後判斷,題中條件是a 所以是先判斷a是否小於9,然後自加。這裡a等於9,不小於9,所以會自加後執行else語句部分。此時a為10 else語...