1樓:刀無極啊
fun()執行了6次,for迴圈執行了5次,printf輸出的時候又執行了一次。
c語言習題求解求過程
2樓:聽不清啊
1)1>2為假。
c即是a[0][0]
2)它輸出的是:m[2][0],m[2][1],m[2][2]3)10*4=40位元組。
4)a[1][2]的值是0.
int a[3]=,,}等價於int a[3]=,,}
c語言問題 靜態變數 求解
3樓:網友
結果應該是8,17
你在紙上寫的計算過程裡邊有這樣乙個問題,就是沒有區分func函式里的m和main函式里的函式中的m是static變數,具有靜態儲存時期,但是隻有**塊作用域,對,注意只有**塊作用域,也就是說當你退出這個**塊的時候,這個m仍儲存在記憶體中但是你無論如何都找不到它(當然,你提前用指標儲存了它的位址除外)。另外乙個就是static型int變數如果不進行初始化會被預設為0。這樣這道題的答案就一目瞭然了。
c語言關於靜態變數的題目
4樓:網友
應該是a
你所說的」static宣告的變數呼叫一次後值就不變了。「,沒有錯,但是理解錯了。
static變數在記憶體中的位址是固定的,不像區域性變數(下次建立時,不一定和上次的記憶體位址一樣)。static變數擁有固定位址,不是」每次建立時使用相同的位址「的意思,而是"只建立一次,以後不再建立"的意思(就是值不會改變)。在func()中,static int m=0, i=2;這句指令只能被呼叫一次(用於建立變數),以後再次進入func都不會再呼叫這句了。
那麼以後再次進入func時,m的值是多少呢?m裡面存的值是上次func計算的結果(即m=8,i=3)。
5樓:cindere鞡
當然選a啊。
static關鍵字你可以想成對變數只宣告一次,然後這個變數一直存在並儲存上一次改變這個變數時的值。
第一次呼叫func函式時,i=i m 1=3,然後m=i a b=8,所以第一次輸出p值為8,這個沒錯,然後再次呼叫func函式時,此時m=8了,因為第一次中最後改變了m的值,所以第二次呼叫是m=8,所以輸出p值為17。
6樓:網友
不是不變。是隻初始化一次。下次呼叫的時候,剛開始的值,是上次呼叫後的值。
c語言題,在下邊,求過程,答案是 23
7樓:網友
首先注意m ,k是靜態變數,它的儲存空間不釋放。fun(n,m)就是把 n m的值傳給 a b, 在子函式中 k+=m-1 就是 k=k+m-1 =11,然後 m=k+a+b=11+10+2==23 第一次輸出23 第二次呼叫 fun函式時, k還是11 所以。
k+=m-1=11+23-1=33 m=k+a+b=33+10+2=45
c語言題求解,還有思考過程
8樓:網友
首先在乙個函式中的靜態變數,它在首次呼叫這個函式後就會一直存在,直到整個程式都執行結束為止,並且初始值被賦為0,因此第一次呼叫abc時,j+=100;//就是j=j+100,這個時候j=100,然後100這個數被返回並顯示,接著在呼叫一次時,j=j+100;//因此第一次呼叫j被賦值為100了,所以現在是200,然後顯示。
因此空格中依次填 100 200
9樓:網友
結果是
j 是乙個靜態變數,可以看成是乙個全域性變數,只宣告一次,並被初始化成0,第一次呼叫返回100,問題不大。
第二次的時候,j 不會重新被宣告,將原來的100加後來的100,得到200
求用static實現的c語言小題 下面為題目
10樓:網友
樓上的用錯了,static的無論是變數還是方法,都是在編譯的過程中就建立了,不能動態的重複宣告,而且邏輯也錯了,nresult = n這個是初始化賦值,你放到for迴圈中每一次迴圈都重新賦值,之前的結果就被覆蓋了,就算能出來也是錯誤的結果。
再就是for (int i = n; i > 1; i--)這句,純c是不支援這麼寫的,c++和c#才可以這樣現用現定義。
你要的操作「階層「如果是指的」階乘「的話,你可以試試下面的。
既然用static型別,就是要的全域性都能操作的特點,放到方法中就沒意義了*/
static int nresult;
void unsigned long facs(int n)
因為是用的全域性static變數,方法無需返回值,每次呼叫了facs(n)之後,nresult中就已經是結果了*/
C語言,求過程,C語言程式,求過程?
答案選a,即輸出 2空格0空格 這題有兩個自減運算子,一個是字首,一個是字尾。字尾,n 是先使用 n 的值,再 1。即先判斷 n 的值,再 1。字首,n,是先 1,再使用 n 的值。即 n 先 1,再輸出 n 的值。while n n 4,結果為真,n 再 1,此時 n 3。執行 printf 語句...
C語言詳細過程,C語言的學習過程
首先說一聲,這個程式不需要break,你這個do while 迴圈中的一系列case的作用是 你輸入的字串中只要出現aeiou 大小寫 中每一個字母一次,進行v1 出現非aeiou的其他字母一次進行v0 v2 因此v1就是原音的個數,v0是子音的個數,貌似你沒有定義v2呀,你再看看你原來的程式。你的...
c語言的資料的實型變數問題,C語言的資料的實型變數問題
void main 輸出結果1234567956.000000void main 輸出結果1234567910.340000你可以比較一下,float型別的有效是前6 7個數字,也就是說它的精確度只針對其前6 7個數,而double型別的精確位數就要高了,好像是16位 記不太清了 一般程式設計的時候...