c語言問題。急求詳細解答,C語言問題。急求詳細解答!!

時間 2021-10-15 00:00:54

1樓:與影

第一個呼叫把i/2的值傳遞給fun2的形參,而形參變數只有在被呼叫時才分配記憶體單元,在呼叫結束時,即刻釋放所分配的記憶體單元。因此,形參只在函式內部有效。函式呼叫結束返回主呼叫函式後則不能再使用該形參變數,所以呼叫結束後i的值並未改變。

雖然fun2的返回值是處理後的i,但是由於並未將函式呼叫的結果賦給某一變數,所以此次函式呼叫對主函式內的變數無影響。第二個呼叫是把i=i/2的值傳遞給fun2的形參,即有把i/2的值賦給i這一運算,所以此時主函式中的i值為2.第三次呼叫過程與第一次相同,故i不變。

第四次呼叫fun1,在函式運算的過程中,執行了輸出語句故輸出運算後的結果:4.函式呼叫結束後,記憶體釋放,依然對主函式中的i值無影響。

2樓:匿名使用者

第一個fun2沒有對i改變,輸出5

第二個fun2i變為2,所以輸出2

第三個沒有對i改變,輸出2

fun1將i/2做引數傳入,沒有對i值改變所以輸出4 和2

3樓:

兩個函式傳遞進去的都是形參,並沒有改變main的i,

main裡面列印的輸出都是5,

func1的(i%i)已經是0了,所以func1列印的是4

4樓:

樓主你想問關於這個程式的什麼地方?

急求c語言高手解答三個題目!!!詳細說明最好!!!

5樓:匿名使用者

malloc在沒有足夠空間申請的時候會返回null,也就是0

因為&是取址運算子,注意,是運算。最後的q-p實際上等於q地址-p地址的偏移量,系統很智慧的給出了偏移5個int

realloc才可以在執行時改變空間的大小(陣列的大小)

6樓:與科技苦於

malloc給你的是地址,0地址就是null,while(1)一直執行,直到沒有記憶體可以申請,就返回null,此時p的值就為null,下面的語句向0地址寫入資料,程式就會終止

a[5]沒越界...就算越界了,比如a[6],雖然越界了,可不代表它沒有值,但他的值是不確定的對!

7樓:

1, malloc無空間時返回null,即0. 當指標指向0地址時,則是空指標,這裡是不允許直接寫入的。所以或奔潰退出

2. 陣列a的大小是6,因為5後面還有個逗號。 q指向第六個元素,p指向第1個元素,兩個整型指標相減為5.

3. 大小不是你想變,想變就能變。 一旦分配就不能再改變分配空間的大小了(除非釋放後重新分配)

8樓:匿名使用者

malloc返回連續的儲存單元的首地址  0地址不可用。

a陣列實際元素為 1 2 3 4 5 0 所以a[5]存在 地址差為5。

陣列一旦定義了,整個大小都不能變。 但是可以在程式執行時確定陣列長度(使用動態聯編定義動態陣列)

**急求c語言程式設計問題!!!!!!!!!!!!!

9樓:刀無極啊

#include

int main(void)

printf("\n");

}return 0;}

** 急求c語言程式設計問題!!!!!!!!!!!!!!!!!!!!

10樓:夜禮服假面

int main()}

11樓:匿名使用者

#include "stdio.h"

void main()}

急求一道簡單c語言題目解答過程!!!

12樓:匿名使用者

你可以這樣理解:

把a,b看成是逗號運算式 ,它的結果為b的值,而printf輸出的是這個式子的值,即b值

13樓:高金山

沒有什麼好解釋的

這個句子本來就是不正確的,就看編譯器是如何理解了

我用vc6,輸出的b)666

14樓:匿名使用者

printf函式是從右向左執行的,只輸出一個結果,所以只輸出b值,而不是按照先輸出a,再輸出b,這個順序執行的

15樓:

一樓fantasydb理解有誤。

printf()函式對輸出表中的各量求值的順序是自右向左進行的,但是輸出的順序還是從左向右。

這是楊健霑主編的《c語言程式設計》書上57頁的原話。

列印出來的結果應該是666而不是888.

c語言問題,小白求詳細解答,C語言問題 小白求解答

結果是a how are you 第一次開啟檔案,以 w 方式建立乙個新檔案,寫入how 第二次開啟檔案,以 a 方式追加資訊到檔案,寫入are you c語言問題 小白求解答 問 r,s,t 三個集的關係。t 由 r,s 得出。答,r,s,2 個集 之差 得 t.理由 把 r 裡與 s 相同 的 ...

c語言問題求大神解答,C語言問題,求大神解答 20

a 用結構體定義以下學生資訊,結構體名 student 學號 姓名和成績 包括3門課程的成績,可用一個陣列表示 struct student c語言問題,求大神解答! 奔安 include include include typedef unsigned int uint typedef struc...

c語言問題求解答,C語言問題,求幫忙解答!!

夢亦月兮 a1 a2對換 400,300 a3 a4對換 200,100 結果 400,300,200,100 注 sub1裡面就是乙個對換值的方法 岔路程式緣 結果是 100,400,100,200 說明 sub1只是交換了形參的值,但並沒有交換實參!但是,最值得注意的是sub1悄悄改變了a1這個...